Sintaxa Heredóc ( /həˈredɒk/ ) este o modalitate de a defini variabilele șir în codul sursă al programului.
Heredoc (literal din engleză „aici este un document”) - sintaxa pentru introducerea unui text formatat liber cu o singură linie sau (adesea) mai multe linii „ca atare” într-o variabilă. [unu]
La definirea variabilelor șir, conținutul acestora este de obicei cuprins între ghilimele simple sau duble și, prin urmare, caracterele ghilimele care ar trebui să facă parte din date trebuie să fie evadate folosind secvențe de escape . Sintaxa Heredoc vă permite să definiți un șir fără să-l încadrați între ghilimele, deci nu este nevoie să evadați aceste caractere. [2]
Definiția obișnuită a șirului este:
$s = 'Citatele pot fi \'single\'' ; $t = "Climele pot fi \" duble \" " ;definiție heredoc ( PHP ):
Variabilele din interiorul heredoc sunt interpretate.
$s = <<< EOL Ghilimelele sunt „single” și „duble”. $nume și {$foo->bar[1]} EOL ;PHP 5.3+ a introdus o versiune a heredoc-ului în care variabilele nu sunt interpretate. Pentru a face acest lucru, identificatorul trebuie să fie înconjurat de ghilimele simple. Se numește nowdoc.
$s = <<<' EOL ' Există ghilimele „single” și „duble”. $nume și {$foo->bar[1]} EOL ;De asemenea, în PHP 5.3+, identificatorul poate fi înconjurat de ghilimele duble. Aceasta corespunde versiunii necotate.
definiție heredoc ( Perl ):
$s = << EOL ; Ghilimelele sunt „single” și „duble”. EOLDupă <<<(sau <<în Perl) trebuie să specificați un identificator, apoi o linie și apoi același identificator, închizând inserția. [1] [3]
Identificatorul de închidere trebuie să înceapă în prima coloană a rândului. În plus, în PHP, un identificator trebuie să urmeze aceleași reguli de denumire ca toate celelalte etichete: să conțină doar caractere alfanumerice și liniuțe de subliniere și nu trebuie să înceapă cu un număr. [4] În Perl , un identificator poate fi orice șir cuprins între ghilimele pentru identificatorul de deschidere.
definiție heredoc ( Ruby ):
$s = << HEREDOC Există ghilimele „single” și „duble”. HEREDOCÎn Ruby, un identificator poate fi arbitrar și nu face distincție între majuscule și minuscule. Cel mai des folosit în practică HEREDOC. Identificatorul de deschidere între ghilimele simple nu interpretează variabilele, dar între ghilimele duble se comportă la fel ca și fără ele. [5]