In PHP müssen wir manchmal eine Datei einbinden. Als ich beispielsweise vor einiger Zeit ein Framework schrieb, hatte ich vor, natives PHP als Vorlage zu verwenden und dann eine Anzeigemethode zu schreiben, um die Vorlagendatei einzuführen, aber das war nur meine Einbildung.
Nachdem ich mit dem Schreiben fertig war, stellte ich fest, dass alle Variablen in der Vorlage undefiniert waren. Durch verschiedene Recherchen und Informationssuchen habe ich den Umfang in mehreren Situationen beim Einbinden von Dateien zusammengefasst.
Der erste Fall: Datei A enthält Datei B und Variablen in A können in Datei B aufgerufen werden.
A-Dateicode:
<?<span>php </span><span>$aaa</span> = '123'<span>; </span><span>include</span> "B.php";
B-Dateicode:
<?<span>php </span><span>echo</span><span>$aaa</span>;
Der Inhalt kann normal ausgegeben werden .
Zweiter Fall: Datei A enthält Datei B, und dann können die Variablen von Datei B in Datei A aufgerufen werden.
A-Dateicode:
<?<span>php </span><span>include</span> "B.php"<span>; </span><span>echo</span><span>$fff</span>;
B-Dateicode:
<?<span>php </span><span>$fff</span> = 'i am f';
Hier können Sie normal ausgeben Zeitinhalt.
Die dritte Situation: Eine Methode einer bestimmten Klasse in Datei A ruft Datei B auf, und dann können die Variablen in der Methode in Datei B aufgerufen werden.
A-Dateicode:
<?<span>php </span><span>class</span><span> test{ </span><span>public</span><span>function</span><span> show(){ </span><span>$bbb</span> = 'abc'<span>; </span><span>include</span> "B.php"<span>; } } </span><span>$t</span> = <span>new</span><span> test; </span><span>$t</span>->show();
B-Dateicode:
<?<span>php </span><span>echo</span><span>$bbb</span>;
Zu diesem Zeitpunkt ist es normal Inhalte ausgeben.
Die vierte Situation: Datei A importiert Datei B über eine definierte Funktion. Variablen in A können nicht in Datei B verwendet werden, Variablen in der aufrufenden Funktion (Anzeige) in Datei A können jedoch verwendet werden.
A-Dateicode:
<?<span>php </span><span>$aaa</span> = '123'<span>; </span><span>function</span> display(<span>$file</span><span>){ </span><span>$bbb</span>= 'asdasdas'<span>; </span><span>include</span><span>$file</span><span>; } display(</span>"B.php");
B-Dateicode:
<?<span>php </span><span>echo</span><span>$aaa</span><span>; </span><span>echo</span><span>$bbb</span>;
Nach dem Ausführen wird die Eingabeaufforderung $aaa angezeigt wird nicht gefunden Definition, $bbb kann normal ausgegeben werden.
Also begann ich anzunehmen, dass es nicht möglich sei, die Vorlage mithilfe einer Anzeigemethode einzuführen. Basierend auf den drei Situationen habe ich mich schließlich dafür entschieden, eine Klasse zum Importieren der Vorlagendatei zu schreiben. Derzeit verwenden ThinkPHP und Smarty auch Klassen, um Vorlagendateien einzuführen. Eventuelle Mängel im Artikel können gerne behoben werden.
Das Obige hat die Forschung zum variablen Umfang von Include-Dateien in PHP vorgestellt, einschließlich einiger Aspekte davon. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.