Maison > développement back-end > tutoriel php > php heredoc et nowdoc

php heredoc et nowdoc

韦小宝
Libérer: 2023-03-17 17:38:01
original
3187 Les gens l'ont consulté

Dans le développement de PHP nous utiliserons souvent du HTML, parfois c'est une grande partie du HTML. Il est très gênant d'écrire du HTML directement en PHP je crois que beaucoup. Mes camarades de classe l'ont tous rencontré, alors ne vous inquiétez pas, les délimiteurs heredoc et nowdoc en PHP vont nous aider, alors jetons un œil !

php heredoc et nowdoc

structure hérédoc

structure syntaxique hérédoc : << &Lt ;. Après l'opérateur , fournissez un identifiant puis une nouvelle ligne. Vient ensuite la chaîne elle-même, et enfin l'identifiant défini précédemment est utilisé comme marque de fin. La

<?php  
$content = <<<FDIPZONE  
<html>  
<head>  
<title>test</title>  
</head>  
<body>  
<p><img src="http://www.csdn.net/css/logo.png"></p>  
<p><a href=&#39;http://blog.csdn.net/fdipzone&#39;>blog</a></p>  
</body>  
</html>  
FDIPZONE;  
  
echo $content;  
?>
Copier après la connexion

structure heredoc ne peut pas être utilisée pour initialiser la propriété d'une classe. Depuis PHP 5.3, cette restriction s'applique uniquement lorsque l'hérdoc contient des variables. L'exemple suivant tournera mal.

<?php  
class test{  
  
public $var = &#39;123&#39;;  
  
public $a = <<<FDIPZONE  
$var  
FDIPZONE;  
  
}  
  
$obj = new test();  
echo $obj->a;  
?>
Copier après la connexion

Dans la structure héréditaire, les variables seront remplacées, mais pas les méthodes. Soyez prudent lorsque vous contientz des variables complexes.

<?php  
$var = &#39;123&#39;;  
$content = <<<FDIPZONE  
$var time();  
FDIPZONE;  
  
echo $content; // 123 time();  
?>
Copier après la connexion

structure nowdoc

La structure syntaxique de nowdoc est très similaire à la structure heredoc, mais aucune opération d'analyse n'est effectuée dans nowdoc . Cette structure est adaptée pour intégrer du code php ou tout autre texte volumineux sans échapper aux caractères spéciaux .

nowdoc a les mêmes balises que la structure hérédoc <<<, mais l'identifiant suivant doit être placé entre guillemets simples, c'est-à-dire <<<'EOF'. Toutes les règles des structures heredoc s'appliquent également aux structures nowdoc, en particulier les règles de terminaison des identifiants. nowdoc a été ajouté après php5.3. La structure

<?php  
$var = &#39;123&#39;;  
$content = <<<&#39;FDIPZONE&#39;  
$var time();  
FDIPZONE;  
  
echo $content; // $var time(); $var没有被替换  
?>
Copier après la connexion

nowdoc peut être utilisée dans n'importe quel environnement de données statiques. L'exemple le plus typique est d'initialiser des attributs de classe ou des constantes. L'exemple suivant ne vous trompera pas, vous pouvez le comparer avec l'exemple héréditaire.

<?php  
class test{  
  
public $a = <<<&#39;FDIPZONE&#39;  
$var  
FDIPZONE;  
  
}  
  
$obj = new test();  
echo $obj->a;  
?>
Copier après la connexion

Ce qui précède est l'intégralité du contenu de PHP heredoc et nowdoc. J'espère que cela pourra être utile à tout le monde.

Recommandations associées :

Les structures Heredoc et Nowdoc dans les chaînes PHP sont-elles couramment utilisées ?

Type scalaire PHP - chaîne, comment Heredoc le représente-t-il ?

À propos de NOWDOC et HEREDOC

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal