includeWenn zwei Dateien mit demselben Funktionsnamen importiert werden, tritt ein Neudefinitionsfehler auf. Verwenden Sie include_once, um diesen Fehler zu vermeiden. Im Allgemeinen wird _once häufiger verwendet. Der Unterschied zwischen include und _once sollte anhand der tatsächlichen Situation ermittelt werden. Der Unterschied zwischen
include und require
Wenn die einzubindende Datei nicht vorhanden ist, generiert include eine Warnung (Warnung) und das der Anweisung folgende Programm wird weiterhin ausgeführt. Während require einen schwerwiegenden Fehler (Fatal error) verursacht, wird das Programm hier beendet.
include_once und require_once
sollten verwendet werden, wenn dieselbe Datei während der Skriptausführung möglicherweise mehr als einmal eingebunden wird und Sie sicherstellen möchten, dass sie nur einmal eingebunden wird, um eine Neudefinition der Funktion zu vermeiden. Neuzuweisung von Variablen und andere Probleme.
1.include wird normalerweise im Verarbeitungsabschnitt der Prozesssteuerung platziert
2.require wird am Anfang geladen. Diese Funktion wird normalerweise am vor dem PHP-Programm
3._once Suffix zeigt an, dass das geladene Programm nicht geladen ist
Es gibt keine große Recherche zu include und include_once Der Unterschied besteht darin, dass es für Sie egal ist, ob die Datei bereits importiert wurde. Wenn ja, wird sie nicht mehr importiert Um require_once zu verwenden, wird dem Autor empfohlen, include und require zu überprüfen. Es gibt viele Unterschiede online. Hier sind zwei einfache:
Wenn die von incloude eingeführte Datei falsch gesendet wird oder die Datei nicht existiert, gibt include eine Warnung aus und führt die Ausführung des Programms fort, während require einen schwerwiegenden Fehler generiert und das Programm beendet. Die Anweisung
require_once() schließt die angegebene Datei ein und führt sie während der Skriptausführung aus. Dieses
Verhalten ähnelt der require()-Anweisung, der einzige Unterschied besteht darin, dass der Code, wenn er bereits in der Datei enthalten ist, nicht noch einmal eingefügt wird. Die Funktion von require_once() ist fast die gleiche wie require(). Die Anweisung include_once() schließt die angegebene Datei ein und führt sie während der Skriptausführung aus. Dieses Verhalten ähnelt der include()-Anweisung. Der einzige Unterschied besteht darin, dass der Code, wenn er bereits in der Datei enthalten ist, nicht noch einmal eingefügt wird. Wie der Name dieser Aussage schon sagt, wird sie nur einmal enthalten sein. Die Funktion von clude_once() ist fast die gleiche wie include() Die Funktion von require_once besteht darin, zu überprüfen, ob die Datei bereits geladen wurde. Wenn sie geladen wurde, wird sie geladen wird es nicht erneut laden. Wenn beispielsweise eine Datei einen Typ definiert, tritt ein Fehler auf, wenn die Datei zweimal geladen wird.
Ich verwende include_once, seit ich den Unterschied zwischen include und include_once gelernt habe Es wird nur einmal geladen, um Duplikate zu vermeiden, und es scheint, dass ich nicht feststellen kann, ob es wiederholt geladen wurde. Es stellt sich heraus, dass ich mich die ganze Zeit geirrt habe.
Tatsächlich gibt es Vorteile, wenn das Projekt von mehreren Personen entwickelt wird.
include_once-Ausführungssequenz
Versuchen Sie, den absoluten Pfad der Datei zu analysieren , wenn es erfolgreich analysiert werden kann, dann überprüfen Sie EG(included_files) und geben Sie es zurück, wenn es nicht existiert, fahren Sie fort
, um die Datei zu öffnen und den geöffneten Pfad der Datei (geöffneter Pfad) abzurufen 🎜>
Nehmen Sie den geöffneten Pfad zu EG (included_files), um zu suchen, ob Existiert, wenn es existiert, geben Sie es zurück, wenn es nicht existiert, fahren Sie fort Datei kompilieren (compile_fileKürzlich , wir hatten mehrere Diskussionen über die Entfernung von apc.include_once_override, und dieses APC-Konfigurationselement kam und ging. Es wurde nicht gut implementiert.Hier möchte ich Ihnen die Gründe dafür mitteilen Dieses Problem und einige Inspirationen für uns.Über die Verwendung von include oder include_once (Im Folgenden enthalten alle require_once). Diese Diskussion war lang und die Schlussfolgerung lautete immer: Versuchen Sie, include zu verwenden Anstelle von include_once. Der häufigste Grund war in der Vergangenheit, dass include_once die geladene Dateiliste abfragen muss, um zu bestätigen, ob sie vorhanden ist, und dann neu laden muss.Zugegebenermaßen ist dieser Grund richtig, aber worüber ich sprechen möchte Etwa heute ist ein weiterer Grund.Wir wissen, dass PHP bestimmt, ob eine Datei geladen wurde. Sie müssen den open_path dieser Datei erhalten, was zum Beispiel bedeutet:Das obige ist der detaillierte Inhalt vonPHP erläutert ausführlich den Unterschied zwischen include_once und include. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!