Heim  >  Artikel  >  Backend-Entwicklung  >  PHP Heredoc und Nowdoc

PHP Heredoc und Nowdoc

韦小宝
韦小宝Original
2017-12-02 09:05:113170Durchsuche

Bei der Entwicklung von PHP verwenden wir oft HTML, manchmal ist es sehr umständlich, HTML direkt in PHP zu schreiben Meine Klassenkameraden sind alle darauf gestoßen, also machen Sie sich keine Sorgen. Die Trennzeichen heredoc und nowdoc in PHP werden uns helfen, also werfen wir einen Blick darauf!

PHP Heredoc und Nowdoc

Heredoc-Struktur

Heredoc-Syntaxstruktur: << <. Geben Sie nach dem -Operator einen Bezeichner und dann eine neue Zeile an. Als nächstes folgt die -Zeichenfolge selbst, und schließlich wird der zuvor definierte Bezeichner als Endmarkierung verwendet. Die

<?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;  
?>

heredoc-Struktur kann nicht zum Initialisieren der Eigenschaft einer Klasse verwendet werden. Ab PHP 5.3 gilt diese Einschränkung nur, wenn das Heredoc Variablen enthält. Das folgende Beispiel wird schief gehen.

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

In der Heredoc-Struktur werden Variablen ersetzt, Methoden jedoch nicht. Seien Sie vorsichtig, wenn Sie komplexe Variablen enthalten.

<?php  
$var = &#39;123&#39;;  
$content = <<<FDIPZONE  
$var time();  
FDIPZONE;  
  
echo $content; // 123 time();  
?>

Nowdoc-Struktur

Die syntaktische Struktur von Nowdoc ist der Heredoc-Struktur sehr ähnlich, in Nowdoc wird jedoch kein Analysevorgang durchgeführt . Diese Struktur eignet sich zum Einbetten von PHP-Code oder anderen großen Texten, ohne die Sonderzeichen zu maskieren.

nowdoc hat die gleichen Tags wie die Heredoc-Struktur <<<, aber der folgende Bezeichner muss in einfache Anführungszeichen gesetzt werden, d. h. <<<'EOF'. Alle Regeln für Heredoc-Strukturen gelten auch für Nowdoc-Strukturen, insbesondere die Regeln für das Beenden von Bezeichnern. nowdoc wurde nach php5.3 hinzugefügt. Die

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

nowdoc-Struktur kann in jeder statischen Datenumgebung verwendet werden. Das typischste Beispiel ist die Initialisierung von Klassenattributen oder Konstanten. Mit dem folgenden Beispiel geht nichts schief, Sie können es mit dem Heredoc-Beispiel vergleichen.

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

Das Obige ist der gesamte Inhalt von PHP Heredoc und Nowdoc. Ich hoffe, dass er für alle hilfreich sein kann.

Verwandte Empfehlungen:

Werden die Heredoc- und Nowdoc-Strukturen in PHP-Strings häufig verwendet?

PHP-Skalartyp – Zeichenfolge, wie stellt Heredoc ihn dar?

Über NOWDOC und HEREDOC

Das obige ist der detaillierte Inhalt vonPHP Heredoc und Nowdoc. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn