php scan : nowdoc
À 08:21 dans la rubrique PHP / PEAR
←
/ #951
/ rss
/ →
Il y a déjà peu de gens qui connaissent la notation HEREDOC.
<?php $variables = 'hellos'; $a = <<<MONMARQUEUR ma chaine avec des $variables MONMARQUEUR; echo $a; ?>
affiche
ma chaine avec des hellos
depuis php 5.3 on a en plus le NOWDOC
http://be2.php.net/manual/fr/language.types.string.php#language.types.string.syntax.nowdoc
Nowdoc
Ce que dit la doc
Nowdoc est aux chaînes entourées de guillemet simple ce qu'Heredoc est aux chaînes entourées de guillemet double.
Nowdoc est spécifié de manière similaire à Heredoc, mais aucune analyse n'est effectuée dans une syntaxe Nowdoc. La construction est idéale pour embarquer du code PHP ou d'autres larges blocs de texte, sans avoir besoin d'échapper quoi que ce soit. Cette syntaxe partage les mêmes fonctionnalités que le constructeur SGML <![CDATA ]>, en ce qu'elle déclare un bloc de texte qui ne doit pas être analysé.
Nowdoc est identifié avec la même séquence <<< utilisée par Heredoc, mais l'identifiant qui suit est entouré de guillemet simple,e.g. <<<'EOT'. Toutes les règles concernant les identifiants Heredoc sont également appliquer aux identifiants Nowdoc, et tout spécialement, celles concernant l'apparence de l'identifiant.
Donc
<?php $variables = 'hello'; $a = <<<'MONMARQUEUR' ma chaine avec des $variables MONMARQUEUR; echo $a; ?>
affiche
ma chaine avec des $variables
Notation complexe
Rappel, pour le heredoc et pour les " ,
${variable}s"; // fonctionne
{$variable}s"; // fonctionne







Commentaires
1. Le mercredi 29 avril 2009 à 17:57, par Cydelic
2. Le mercredi 29 avril 2009 à 22:36, par Moosh
Ajouter un commentaire