Services webmasters
Partenaires
Jeux concours gratuits
 
Guillemets doubles
<<<
Syntaxe Heredoc Traitement des variables dans les chaînes
>>>

4.2.5.1 Syntaxe
4.2.5 Les chaînes de caractères
4.2 Les types
4 Référence
 Manuel PHP

Guillemets simples
Guillemets doubles
->Syntaxe Heredoc
Traitement des variables dans les chaînes
Accès aux caractères d'une chaîne

4.2.5.1.3 Syntaxe Heredoc

Un autre moyen de délimiter les chaînes est d'utiliser la syntaxe dite " Heredoc " (en français, documentation ici): <<<, suivi d'un identifiant arbitraire, puis de la chaîne. Cette séquence se termine par l'identifiant initial, placé en premier sur une nouvelle ligne.

L'identifiant utilisé doit suivre les mêmes règles que les étiquettes PHP : il ne doit contenir uniquement que des caractères alpha-numériques, et des soulignés ("_"), et enfin, commencer par un caractère alphabétique ou un souligné.

Attention

Il est très important de noter que la ligne qui contient l'identifiant de fermeture ne doit contenir aucun autre caractère, hormis, éventuellement, un point-virgule ; . Cela signifie notamment que l'identifiant ne doit pas être indenté, et qu'il n'y a aucun caractère blanc entre le retour à la ligne et l'identifiant, ou bien entre l'identifiant et le ; .

Le plus dur est peut être qu'il ne faut pas qu'il y ait un retour à la ligne (( \r ) à la fin de cette ligne, mais seulement un retour chariot ( \n ). Puisque Microsoft Windows utilise la séquence \r\n comme terminaison de ligne, la syntaxe heredoc risque de ne pas fonctionner là. Cependant, la plupart des éditeurs PHP fournissent une sauvegarde au format UNIX.

La syntaxe Heredoc se comporte exactement comme une chaîne à guillemets doubles, sans les guillemets doubles. Cela signifie que vous n'avez pas à échapper les guillemets (simples ou doubles) dans cette syntaxe. Les variables sont remplacées par leur valeur, et le même soin doit leur être apporté que dans les chaînes à guillemets doubles.
Exemple de chaîne HereDoc

<?php
  $str
= <<<EOD
  Exemple de chaîne
  s'étalant sur
  plusieurs lignes
  avec la syntaxe heredoc
EOD;
/* Exemple plus complexe, avec des variables. */
  
class foo {
    var
$foo;
    var
$bar;
    function
foo() {
        
$this->foo = 'Foo';
        
$this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
  }
  
$foo = new foo();
  
$name = 'MonNom';
  echo <<<EOT
  Mon nom est "$name". J'affiche des $foo->foo.
  Maintenant, j'affiche un
{$foo->bar[1]}.
  Ceci se traduit par un 'A' majuscule:
\x41
EOT;
?>

Note

Le support Here doc a été ajouté en PHP 4.

<< Syntaxe Heredoc >>
Guillemets doubles Syntaxe Traitement des variables dans les chaînes
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -