A Heredóc szintaxis ( /həˈredɒk/ ) egy módja annak, hogy karakterlánc-változókat definiáljunk a program forráskódjában.
Heredoc (szó szerint az angolból "itt van egy dokumentum") - az egy- vagy (gyakran) többsoros szabadon formázott szöveg változóba való bevitelének szintaxisa. [egy]
A karakterlánc-változók definiálásakor a tartalom általában szimpla vagy dupla idézőjelbe kerül, ezért az adatok részét képező idézőjeleket escape szekvenciákkal kell megszabadítani . A Heredoc szintaxis lehetővé teszi egy karakterlánc definiálását anélkül, hogy idézőjelek közé tenné, így nincs szükség ezekre a karakterekre. [2]
A szokásos karakterlánc definíció a következő:
$s = 'Az idézetek lehetnek \'egyszeresek\' ; $t = "Az idézetek lehetnek \" double \" " ;heredoc definíció ( PHP ):
A heredoc-on belüli változók értelmezve vannak.
$s = <<< EOL Az idézőjelek „egyszeres” és „kettős”. $name és {$foo->bar[1]} EOL ;A PHP 5.3+ bevezette a heredoc egy olyan változatát, amelyben a változók nincsenek értelmezve. Ehhez az azonosítót szimpla idézőjelekkel kell körülvenni. Mostdoc-nak hívják.
$s = <<<' EOL ' Vannak 'egyes' és 'dupla' idézőjelek. $name és {$foo->bar[1]} EOL ;A PHP 5.3+ verziójában is az azonosítót dupla idézőjelek vehetik körül. Ez megfelel a nem idézett változatnak.
heredoc definíció ( Perl ):
$s = << EOL ; Az idézőjelek „egyszeres” és „kettős”. EOLUtán <<<(vagy <<Perlben) meg kell adni egy azonosítót, majd egy sort, majd ugyanazt az azonosítót, lezárva a beszúrást. [1] [3]
A záró azonosítónak a sor első oszlopában kell kezdődnie. Ezenkívül a PHP-ben az azonosítónak ugyanazokat az elnevezési szabályokat kell követnie, mint az összes többi címkének: csak alfanumerikus karaktereket és aláhúzásjeleket tartalmazhat, és nem kezdődhet számmal. [4] A Perlben az azonosító bármely karakterlánc lehet, amely idézőjelbe van zárva a nyitó azonosítóhoz.
heredoc definíció ( Ruby ):
$s = << HEREDOC Vannak 'egyes' és 'dupla' idézőjelek. HEREDOCA Rubyban az azonosító tetszőleges lehet, és nem különbözteti meg a kis- és nagybetűket. A gyakorlatban leggyakrabban használt HEREDOC. Az idézőjelben lévő nyitó azonosító nem értelmezi a változókat, kettős idézőjelben viszont ugyanúgy viselkedik, mint azok nélkül. [5]