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='http://blog.csdn.net/fdipzone'>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 = '123'; 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 = '123'; $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 = '123'; $content = <<<'FDIPZONE' $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 = <<<'FDIPZONE' $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?
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!