Heredóc-syntaks ( /həˈredɒk/ ) er en måde at definere strengvariabler i programmets kildekode.
Heredoc (bogstaveligt fra engelsk "her er et dokument") - syntaksen til at indtaste enkelt- eller (ofte) flerlinjers frit formateret tekst "som den er" i en variabel. [en]
Når strengvariabler defineres, er deres indhold normalt omgivet af enkelte eller dobbelte anførselstegn, og derfor skal anførselstegn, der skal være en del af dataene, escapes ved hjælp af escape-sekvenser . Heredoc-syntaks giver dig mulighed for at definere en streng uden at omslutte den i anførselstegn, så der er ingen grund til at undslippe disse tegn. [2]
Den sædvanlige strengdefinition er:
$s = 'Citater kan være \'enkelt\'' ; $t = "Citater kan være \" dobbelte \" " ;heredoc definition ( PHP ):
Variabler inde i heredoc fortolkes.
$s = <<< EOL Anførselstegn er 'enkelt' og 'dobbelt'. $navn og {$foo->bar[1]} EOL ;PHP 5.3+ introducerede en version af heredoc'et, hvor variabler ikke fortolkes. For at gøre dette skal identifikatoren være omgivet af enkelte anførselstegn. Det hedder nowdoc.
$s = <<<' EOL ' Der er 'enkelt' og 'dobbelt' anførselstegn. $navn og {$foo->bar[1]} EOL ;Også i PHP 5.3+ kan identifikatoren være omgivet af dobbelte anførselstegn. Dette svarer til den uciterede version.
heredoc definition ( Perl ):
$s = << EOL ; Anførselstegn er 'enkelt' og 'dobbelt'. EOLEfter <<<(eller <<i Perl) skal du angive en identifikator, derefter en linje og derefter den samme identifikator, hvilket lukker indsætningen. [1] [3]
Den afsluttende identifikator skal starte i den første kolonne i rækken. Derudover skal en identifikator i PHP følge de samme navngivningsregler som alle andre etiketter: kun indeholde alfanumeriske tegn og understregninger og må ikke starte med et tal. [4] I Perl kan en identifikator være en hvilken som helst streng, der er omgivet af anførselstegn for den indledende identifikator.
heredoc definition ( Ruby ):
$s = << HEREDOC Der er 'enkelt' og 'dobbelt' anførselstegn. HEREDOCI Ruby kan en identifikator være vilkårlig og ikke skelne mellem store og små bogstaver. Oftest brugt i praksis HEREDOC. Åbningsidentifikatoren i enkelte anførselstegn fortolker ikke variabler, men i dobbelte anførselstegn opfører den sig på samme måde som uden dem. [5]