Eine kurze Analyse des Unterschieds zwischen include und require in PHP

不言
Freigeben: 2023-04-03 08:48:02
Original
3752 Leute haben es durchsucht

In diesem Artikel erfahren Sie mehr über den Unterschied zwischen den Funktionen „Include“ und „Require File“ in PHP. Freunde in Not können sich darauf beziehen.

Zum Beispiel der folgende Code:

include('hello.php');
echo 'include test final!';//include报错,但是会继续执行,显示:include test final!
require('hello.php');
echo 'require test final!';//require报错,停止代码的执行。
Nach dem Login kopieren

Zusammenfassung in einem Satz:
1.include() generiert eine Warnung
2.require() führt zu einem schwerwiegenden Fehler

Mit anderen Worten: Wenn Sie die Verarbeitung der Seite stoppen möchten, wenn eine Datei fehlt, zögern Sie nicht, require() zu verwenden. Dies ist bei include() nicht der Fall und das Skript wird weiterhin ausgeführt. Stellen Sie außerdem sicher, dass der entsprechende include_path festgelegt ist.
Das heißt, die erforderliche Datei wird gelesen, wenn das Programm erneut analysiert wird. Wenn die erforderliche Datei nicht nach der Analyse gelesen werden kann, kann der nächste Schritt nicht ausgeführt werden. Daher ist es besser, „require“ für Dateien zu verwenden, die dazu führen, dass das Programm falsch eingebunden wird. Es könnte etwas effizienter sein.

Hinweis: require() schließt die Datei trotzdem ein, während include() selektiv Folgendes einschließen kann:

<?php
 if(FALSE){
   require(&#39;x.php&#39;);
 }
 if(FALSE){
   include(&#39;s.php&#39;);
 }
?>
Nach dem Login kopieren

Im obigen Code: x.php wird definitiv eingebunden, und s php definitiv nicht enthalten sein.

Zwei Methoden bieten unterschiedliche Nutzungsflexibilität:
require wird wie require("MyRequireFile.php"); verwendet. Diese Funktion wird normalerweise am Anfang des PHP-Programms platziert. Bevor das PHP-Programm ausgeführt wird, liest es zunächst die durch require angegebene Datei und macht sie zu einem Teil der PHP-Programm-Webseite.
include wird wie include("MyIncludeFile.php"); verwendet. Diese Funktion wird normalerweise im Verarbeitungsabschnitt der Flusskontrolle platziert. Die PHP-Programm-Webseite liest die Include-Datei, wenn sie sie liest. Auf diese Weise kann der Prozess der Programmausführung vereinfacht werden.
1. Verwendungssyntax und Einführung

1. include()
Syntax: include(/path/to/filename)
include Die ()-Anweisung enthält eine Datei an der Stelle, an der sie aufgerufen wird. Durch das Einschließen einer Datei werden die Daten der angegebenen Datei an den Speicherort der Anweisung kopiert.
Klammern können bei Verwendung von include() ignoriert werden.

Die include()-Anweisung kann basierend auf Bedingungen ausgeführt werden. Bei der Verwendung von include() in einer bedingten Anweisung tritt ein seltsames Phänomen auf. Es muss von Anweisungsblockklammern oder anderen Anweisungsklammern umgeben sein.

2. include_once()
Syntax: include_once(filename)

include_once()-Anweisung schließt die angegebene Datei während der Skriptausführung ein und führt sie aus. Dieses Verhalten ähnelt der include()-Anweisung. Der einzige Unterschied besteht darin, dass include_once() zunächst ermittelt, ob die Datei bereits eingebunden wurde.
include_once() sollte verwendet werden, wenn Sie sicherstellen möchten, dass es nur einmal eingebunden wird, um Probleme wie die Neudefinition von Funktionen und die Neuzuweisung von Variablen zu vermeiden.

Zusammenfassung: Die Funktion include_once() hat die gleiche Funktion wie include, überprüft jedoch zunächst, ob die Datei eingebunden wurde. Wenn es bereits enthalten ist, wird include_once nicht mehr ausgeführt. Ansonsten muss die Datei eingebunden werden. Es ist genau das Gleiche wie „include“, außer dass dies der Fall ist.

3. require()
Syntax: require(filename)
require() ist weitgehend dasselbe wie include, beide enthalten eine Vorlagendatei in require Call-Sitzposition.
Es gibt zwei wichtige Unterschiede zwischen require und include. Erstens wird die Spezifikationsdatei unabhängig vom Speicherort von „require“ in das Skript eingefügt, in dem „require“ erscheint. Selbst wenn „require“ beispielsweise in eine if-Anweisung eingefügt wird, die als „false“ ausgewertet wird, wird die angegebene Datei dennoch einbezogen.
Der zweite wichtige Unterschied besteht darin: Wenn „require“ fehlschlägt, wird die Ausführung des Skripts gestoppt, während im Fall von „include“ die Ausführung des Skripts fortgesetzt wird.

4. require_once()
Syntax: require_once(filename)
require_once()-Anweisung schließt die angegebene Datei während der Skriptausführung ein und führt sie aus. Dieses Verhalten ähnelt der require()-Anweisung. Der einzige Unterschied besteht darin, dass require_once() zunächst ermittelt, ob die Datei bereits eingebunden wurde, und diese Einbindung ignoriert.
require_once() sollte verwendet werden, wenn Sie sicherstellen möchten, dass es nur einmal enthalten ist, um Probleme wie die Neudefinition von Funktionen und die Neuzuweisung von Variablen zu vermeiden.

Zusammenfassung: Wenn die Website größer wird, werden einige Dateien möglicherweise wiederholt eingebunden. Dies ist möglicherweise kein Problem, aber wenn Sie die Variablen der eingebundenen Datei ändern, werden diese überschrieben, da die Originaldatei später wieder eingebunden wird, was möglicherweise unerwünscht ist. Ein weiteres Problem, das auftreten kann, sind widersprüchliche Funktionsnamen in den enthaltenen Dateien. Diese Probleme können mit require_once gelöst werden.
Die Funktion require_once stellt sicher, dass die Datei nur einmal eingebunden wird. Nach der Begegnung mit require_once werden nachfolgende Versuche, dieselbe Datei einzuschließen, ignoriert.

2. Zusammenfassung der Unterschiede

1. Der Unterschied zwischen include()- und require()-Anweisungen.
Der Unterschied zwischen den beiden: Diese beiden Strukturen sind bis auf den Umgang mit Fehlern genau gleich.
include() generiert eine Warnung und das Skript wird weiter ausgeführt.
require() verursacht einen schwerwiegenden Fehler und die Ausführung des Skripts wird gestoppt.

Mit anderen Worten: Verwenden Sie require(), wenn Sie die Verarbeitung der Seite stoppen möchten, wenn eine fehlende Datei oder ein Fehler auftritt. Wenn Sie die Verarbeitung der Seite fortsetzen möchten, wenn ein Fehler auftritt, verwenden Sie include().
Beachten Sie, dass Syntaxfehler in Include-Dateien vor PHP 4.3.5 nicht zum Stoppen des Programms führten, ab dieser Version jedoch.

2. Der Unterschied zwischen include_once(), require_once() und include(), require()
include_once() ist derselbe wie require_once() und sollte verwendet werden, wenn dieselbe Datei mehr als einmal eingebunden werden kann In diesem Fall möchten Sie sicherstellen, dass es nur einmal enthalten ist, um Probleme wie Funktionsneudefinition, Variablenneuzuweisung usw. zu vermeiden. Dies ist der Hauptunterschied zwischen include_once() und require_once() und include() und require().

3. Probleme, die Aufmerksamkeit erfordern

1. Pfadprobleme
Besonders bei verschachtelten Includes müssen Sie auf die enthaltenen Dateien achten Weg.
Zum Beispiel enthält Datei A Datei B, Datei B enthält Datei C und die Dateien A, B und C befinden sich nicht im selben Ordner. Zu diesem Zeitpunkt können häufig Fehler gemacht werden.
Lösung: Sie können die Anweisung dirname(__FILE__) verwenden, um den absoluten Pfad des aktuellen Skripts abzurufen. Zum Beispiel: require_once(dirname(__FILE__).'/config.php');

2. Effizienzprobleme
include_once(), require_once() und include(), require() ist weniger effizient, da sie zumindest zuerst feststellen müssen, ob die Datei enthalten ist. Dieses Problem wurde in der PHP5-Version erheblich verbessert, es gibt jedoch immer noch einen Unterschied in der Effizienz.

Verwandte Empfehlungen:

Verwendungsszenarien und Unterschiede zwischen include_once, require_once und include and require in PHP.

Der Unterschied zwischen include und require in PHP, phpincluderequire

Das obige ist der detaillierte Inhalt vonEine kurze Analyse des Unterschieds zwischen include und require in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!