.sea.monkey.: + SQL - 3 mal spitze Klammer auf

hi ihr,
ich sitze hier grade und modifiziere ein bißchen an Wordpress rum und habe grade etwas gesehen das ich nicht kenne. Das ist soweit auch nicht verwunderlich aber villeicht kann mir das ja jemand erklären.

es gibt da einen teil da wird der Variablen $q (das wird der sql query) etwas zugewiesen. Das sieht dann so aus:
$q = <<<SQL
CREATE TABLE IF NOT EXISTS $tablepost2tag (
  rel_id int(11) NOT NULL auto_increment,
  tag_id int(11) NOT NULL default '0',
  post_id int(11) NOT NULL default '0',
  ip_address varchar(15),
  PRIMARY KEY  (rel_id)
) TYPE=MyISAM;
SQL;

Da denke ich mir jetzt das da doch eigentlich anführungszeichen drum rum müssten wegen string und so. Ausserdem wundert es mich das der Parser nicht meckert weil er den Typ nicht kennt. Ich weiß PHP macht das dynamisch aber was ganz genau ist das da und warum geht das? Also eigentlich das typische was ist es, was kann es? witzig ist auch das der Parser anfängt zu meckern sobald man tabs vor die letzte zeile also das "SQL;" setzt.
Kann mir das mal jemand erklären? Kann ja nichts Wordpressspezifisches sein.

danke im vorraus
.sea.monkey.

P.S. ach ja :-) falls jetzt jemand denkt warum googelt der junge das nicht, muss doch irgendwo erklärt worden sein. Es ist etwas schwierig  "<<<" bei google einzugeben so das es auch in die abfrage mit einbezogen wird und ausschreiben fand ich zu doof wie siehtn das aus?

sql php "spitze klammer auf spitze klammer auf spitze klammer auf"

:-)

  1. Hallo .sea.monkey.,

    Kann mir das mal jemand erklären?

    Du hast den Heredoc Syntax entdeckt.

    Grüße aus Nürnberg
    Tobias

  2. hi,

    es gibt da einen teil da wird der Variablen $q (das wird der sql query) etwas zugewiesen. Das sieht dann so aus:
    $q = <<<SQL
    CREATE TABLE IF NOT EXISTS $tablepost2tag (
    ...
    SQL;

    Das ist die Heredoc-Syntax.

    P.S. ach ja :-) falls jetzt jemand denkt warum googelt der junge das nicht, muss doch irgendwo erklärt worden sein.

    Ich denke, warum schaut der Junge nicht im Manual nach - dass es sich um eine Art von String-Deklaration handeln müsste, sollte doch wohl klar sein.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hello,

      Ich denke, warum schaut der Junge nicht im Manual nach - dass es sich um eine Art von String-Deklaration handeln müsste, sollte doch wohl klar sein.

      Klar ist da gar nichts...

      Und ob die Kiste schon repariert ist bei neueren PHP-Versionen weiß ich leider auch nicht. Ich arbeite hier im Moment ja auch noch mit einem Museum :-)

      Jedenfalls stürzt(e) PHP mächtig weg, wenn man bei der Verwendung der HereDoc-Syntax nicht die zum OS passende Zeilenende-Markierung verwendet.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

  3. Hallo .sea.monkey..

    P.S. ach ja :-) falls jetzt jemand denkt warum googelt der junge das nicht, muss doch irgendwo erklärt worden sein. Es ist etwas schwierig  "<<<" bei google einzugeben so das es auch in die abfrage mit einbezogen wird und ausschreiben fand ich zu doof wie siehtn das aus?

    sql php "spitze klammer auf spitze klammer auf spitze klammer auf"

    Wie steht's mit „php spitze klammer drei mal“.

    Einen schönen Dienstag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    mathbr:del.icio.us/ mathbr:w00t/