Es gibt 4 Möglichkeiten, Dateien in PHP zu referenzieren: 1. Verwenden Sie die Funktion include(), die an einer beliebigen Stelle im PHP-Skript platziert werden kann. 2. Die Funktion require() wird normalerweise am Anfang des PHP-Skripts platziert. include_once()-Funktion; 4. require_once()-Funktion.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Es gibt vier Anweisungen zum Laden von Dateien in PHP: include, require, include_once, require_once.
require: Die require-Funktion wird im Allgemeinen am Anfang des PHP-Skripts platziert. Bevor PHP ausgeführt wird, liest es die von require importierte Datei, schließt sie ein und versucht, die importierte Skriptdatei auszuführen. Die Funktionsweise von require besteht darin, die Ausführungseffizienz von PHP zu verbessern. Nachdem es einmal auf derselben Webseite interpretiert wurde, wird es beim zweiten Mal nicht interpretiert. Da importierte Dateien jedoch nicht wiederholt interpretiert werden, müssen Sie include verwenden, wenn Sie Schleifen oder bedingte Anweisungen verwenden, um Dateien in PHP einzuführen.
include: kann an einer beliebigen Stelle im PHP-Skript platziert werden, normalerweise im Verarbeitungsteil der Prozesssteuerung. Wenn das PHP-Skript in der durch include angegebenen Datei ausgeführt wird, wird es eingebunden und es wird versucht, es auszuführen. Diese Methode kann den Prozess der Programmausführung vereinfachen. Wenn Sie zum zweiten Mal auf dieselbe Datei stoßen, interpretiert PHP sie immer noch neu. Die Ausführungseffizienz von include ist viel geringer als die von require. Gleichzeitig wird die benutzerdefinierte Funktion in die importierte Datei aufgenommen. PHP wird das Problem der wiederholten Funktionsdefinition während des Interpretationsprozesses haben.
require_once/include_once: Die Funktionen sind die gleichen wie require/include. Der Unterschied besteht darin, dass bei ihrer Ausführung zunächst geprüft wird, ob der Zielinhalt bereits importiert wurde noch einmal vorgestellt werden.
include hat einen Rückgabewert, während require keinen Rückgabewert hat
Wenn include eine Datei nicht laden kann, wird eine Warnung (E_WARNING) generiert und das Skript wird dies tun weiterhin ausführen, nachdem der Fehler aufgetreten ist. Daher wird include verwendet, wenn Sie die Ausführung fortsetzen und Ergebnisse an den Benutzer ausgeben möchten.
//test1.php <?php include './tsest.php'; echo 'this is test1'; ?> //test2.php <?php echo 'this is test2\n'; function test() { echo 'this is test\n'; } ?> //结果: this is test1
require generiert einen schwerwiegenden Fehler (E_COMPILE_ERROR), wenn der Ladevorgang fehlschlägt, und die Ausführung des Skripts stoppt, nachdem der Fehler auftritt. Wird im Allgemeinen verwendet, wenn nachfolgender Code von der geladenen Datei abhängt.
//test1.php <?php require './tsest.php'; echo 'this is test1'; ?> //test2.php <?php echo 'this is test2\n'; function test() { echo 'this is test\n'; } ?>
Ergebnis:
Die per include geladenen Dateien werden nicht als Duplikate gewertet. Solange eine Include-Anweisung vorhanden ist, wird sie einmal geladen (auch wenn Duplikate auftreten können) wird geladen). Wenn include_once eine Datei lädt, gibt es einen internen Beurteilungsmechanismus, um festzustellen, ob der vorherige Code geladen wurde. Hierbei ist zu beachten, dass include_once anhand der Frage beurteilt wird, ob zuvor eine Datei mit demselben Pfad importiert wurde, und nicht anhand des Inhalts der Datei (d. h. der Inhalt der beiden zu importierenden Dateien ist derselbe). , und die Verwendung von include_once führt immer noch zwei ein).
//test1.php <?php include './test2.php'; echo 'this is test1'; include './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1this is test2 //test1.php <?php include './test2.php'; echo 'this is test1'; include_once './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1 //test1.php <?php include_once './test2.php'; echo 'this is test1'; include './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1this is test2 //test1.php <?php include_once './test2.php'; echo 'this is test1'; include_once './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1
require und require_once: Gleiches wie der Unterschied zwischen include und include_once.
1. Beenden Sie den PHP-Skriptmodus über die Include-Anweisung (erforderlich) (geben Sie den HTML-Codemodus ein)
2. Laden Sie den Code in die durch die Include-Anweisung festgelegte Datei und versuchen Sie, ihn auszuführen
3 . Verlassen Sie den HTML-Modus, wechseln Sie erneut in den PHP-Skriptmodus und fahren Sie mit der Ausführung des nachfolgenden Skriptprogramms fort