Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in Heredoc und Nowdoc in PHP (Codebeispiel)

Einführung in Heredoc und Nowdoc in PHP (Codebeispiel)

不言
不言nach vorne
2019-02-18 14:04:521801Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Einführung von Heredoc und Nowdoc in PHP. Ich hoffe, dass er für Freunde in Not hilfreich ist Du hast geholfen.

Heredoc-Struktur

Heredoc-Syntaxstruktur: <<<. Geben Sie nach dem Operator einen Bezeichner und dann eine neue Zeile an. Als nächstes kommt die Zeichenfolge selbst, die mit dem zuvor definierten Bezeichner endet.

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

Die Heredoc-Struktur kann nicht zum Initialisieren von Klasseneigenschaften 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$varFDIPZONE;
}
$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, aber Nowdoc führt keinen Analysevorgang durch. Diese Struktur eignet sich zum Einbetten von PHP-Code oder anderen großen Textteilen ohne Escapezeichen für Sonderzeichen.

nowdoc hat die gleichen Tags wie die Heredoc-Struktur <<<, aber der auf

folgende Bezeichner muss in einfache Anführungszeichen eingeschlossen 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 Attributen oder Konstanten einer Klasse. Mit dem folgenden Beispiel geht nichts schief, Sie können es mit dem Heredoc-Beispiel vergleichen.

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

Das obige ist der detaillierte Inhalt vonEinführung in Heredoc und Nowdoc in PHP (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen