Heredóc-syntax ( /həˈredɒk/ ) är ett sätt att definiera strängvariabler i programmets källkod.
Heredoc (bokstavligen från engelska "här är ett dokument") - syntaxen för att mata in enkel- eller (ofta) flerrads fritt formaterad text "som den är" i en variabel. [ett]
När man definierar strängvariabler är deras innehåll vanligtvis omslutet av enkla eller dubbla citattecken, och därför måste citattecken som bör vara en del av data escapes med hjälp av escape-sekvenser . Heredoc-syntax låter dig definiera en sträng utan att omsluta den inom citattecken, så det finns ingen anledning att undkomma dessa tecken. [2]
Den vanliga strängdefinitionen är:
$s = 'Citat kan vara \'enkla\'' ; $t = "Citat kan vara \" dubbla \" " ;heredoc definition ( PHP ):
Variabler inuti heredoc tolkas.
$s = <<< EOL Citattecken är 'enkel' och 'dubbel'. $namn och {$foo->bar[1]} EOL ;PHP 5.3+ introducerade en version av heredoc där variabler inte tolkas. För att göra detta måste identifieraren omges av enkla citattecken. Det heter nowdoc.
$s = <<<' EOL ' Det finns 'enkla' och 'dubbla' citattecken. $namn och {$foo->bar[1]} EOL ;Även i PHP 5.3+ kan identifieraren omges av dubbla citattecken. Detta motsvarar den ociterade versionen.
heredoc definition ( Perl ):
$s = << EOL ; Citattecken är 'enkel' och 'dubbel'. EOLEfter <<<(eller <<i Perl) måste du ange en identifierare, sedan en rad och sedan samma identifierare, vilket stänger infogningen. [1] [3]
Den avslutande identifieraren måste börja i den första kolumnen på raden. Dessutom måste en identifierare i PHP följa samma namnregler som alla andra etiketter: endast innehålla alfanumeriska tecken och understreck, och får inte börja med en siffra. [4] I Perl kan en identifierare vara vilken sträng som helst inom citattecken för den inledande identifieraren.
heredoc definition ( Ruby ):
$s = << HEREDOC Det finns "enkla" och "dubbla" citattecken. HEREDOCI Ruby kan en identifierare vara godtycklig och inte skiftlägeskänslig. Används oftast i praktiken HEREDOC. Den inledande identifieraren i enkla citattecken tolkar inte variabler, men i dubbla citattecken beter den sig på samma sätt som utan dem. [5]