L2 Info : PHP et Programmation Web
 
◃  Ch. 14 Retour sur les E/S  ▹
 

Les syntaxes heredoc et nowdoc

  • Syntaxes utiles pour l'incorporation de longues chaînes utilisant plusieurs lignes (bloc de code HTML notamment)
  • La syntaxe heredoc (<<<LABEL) :
    • permet de construire facilement des chaînes sur plusieurs lignes,
    • l'étiquette (LABEL) est un identifiant respectant les règles usuelles de nommage,
    • le marqueur de fin de chaîne (LABEL;) est placé sur une séparé.
    • Depuis PHP 7.3, l'éventuelle indentation précédent la fin de chaîne sera "coupée" du début de chaque ligne de la chaîne construite.
    • Exemple :
      $str = <<<TAG
      Une chaîne de caractères
      sur plusieurs lignes
      avec une $variable interpolée.
      TAG;
      
  • La syntaxe nowdoc (<<<'LABEL')
    • Comme les chaînes encadrées par des ', ne procède pas à l'interpolation de variables
    • Syntaxe similaire à heredoc mais avec l'étiquette encadrée par des apostrophes
    • Exemple :
      $str = <<<'TAG'
      Une chaîne de caractères
      sur plusieurs lignes
      sans $variable interpolée.
      TAG;