Heredoc syntax

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 23 april 2016; kontroller kräver 4 redigeringar .

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]

Exempel

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'. EOL

Efter <<<(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. HEREDOC

I 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]

Anteckningar

  1. 1 2 HEREDOC Syntax . Hämtad 16 augusti 2015. Arkiverad från originalet 23 oktober 2015.
  2. Syntax av typen sträng (strängar) . Hämtad 16 augusti 2015. Arkiverad från originalet 24 september 2015.
  3. Php.net: heredoc syntax . Hämtad 16 augusti 2015. Arkiverad från originalet 14 augusti 2015.
  4. Php.ru: Strings . Hämtad 16 augusti 2015. Arkiverad från originalet 15 augusti 2015.
  5. theglitchy.com: HEREDOC och dess användning i Ruby . Hämtad 1 oktober 2019. Arkiverad från originalet 1 oktober 2019.

Länkar