require
erfordert include
enthält.
Laut Handbuch:
require () ist identisch mit include (), außer bei einem Fehler wird ein schwerwiegender E_ERROR-Level-Fehler erzeugt. Mit anderen Worten, es stoppt das Skript, während include () nur eine Warnung (E_WARNING) ausgibt, die es dem Skript erlaubt, fortzufahren.
Wie andere gesagt haben, wenn "require" die gesuchte Datei nicht findet, wird die Ausführung angehalten. Wenn include die gesuchte Datei nicht ablegt, wird die Ausführung fortgesetzt.
Im Allgemeinen sollte require beim Importieren von Code- / Klassen- / Funktions-Bibliotheken verwendet werden. Wenn Sie versuchen, eine Funktion aufzurufen, eine Klasse instanziieren usw. und die Definitionen nicht vorhanden sind, werden schlechte Dinge passieren. Daher benötigen Sie php, um Ihre Datei einzuschließen, und wenn dies nicht möglich ist, hören Sie auf.
Verwenden Sie include, wenn Sie PHP verwenden, um Inhalt auszugeben oder anderweitig Code auszuführen, der nicht unbedingt späteren Code zerstört, wenn er nicht ausgeführt wird. Das klassische Beispiel hierfür ist das Implementieren einer Ansicht in einem Modell / Ansicht / Controller-Framework. Nichts Neues sollte in einer Ansicht definiert werden, noch sollte es den Anwendungszustand ändern. Daher ist es in Ordnung, Include zu verwenden, da ein Fehler andere Dinge, die in der Anwendung passieren, nicht unterbricht.
Eine kleine Tangente. Es gibt viele widersprüchliche Informationen und Fehlinformationen bezüglich der Leistung von include require und require_once vs. include_once. Sie verhalten sich radikal unterschiedlich in verschiedenen Situationen / Anwendungsfällen. Dies ist einer dieser Orte, an denen Sie wirklich den Unterschied in Ihrer eigenen Anwendung messen müssen.
Der Unterschied ist der: Einschließen wird nicht fehlschlagen, wenn es die Ressource nicht finden kann, wird es erfordern. Ehrlich gesagt, es ist irgendwie albern, dass es überhaupt existiert, denn wenn du versuchst, eine Ressource zu laden, zählst du ziemlich darauf, dass sie da ist. Wenn Sie etwas verwenden möchten, würde ich empfehlen, require_once immer zu verwenden, so dass Sie nicht in Kollisionen geraten (dh wenn ein anderes Skript die gleiche Datei benötigt) und Ihr Code immer wie vorgesehen funktioniert, weil Sie die Ressourcen kennen einschließlich sind dort (sonst versagt es).
Wenn eine Datei optional ist, fügen Sie sie hinzu. Zum Beispiel könnten Sie eine Datei "breaking-news.txt" haben, die erstellt wird, wenn es Neuigkeiten gibt, aber nicht existiert, wenn es keine gibt. Es könnte enthalten sein, ohne dass das Skript bricht, wenn es keine neuen Nachrichten gibt.
Wenn die Datei benötigt wird, damit der Rest des Skripts ordnungsgemäß funktioniert, fordern Sie sie an.
Ссылка :
Im Gegensatz zu include () liest require () die Zieldatei immer ein, auch wenn die Zeile, auf der sie sich befindet, niemals ausgeführt wird. Wenn Sie eine Datei bedingt aufnehmen möchten, verwenden Sie include (). Die bedingte Anweisung wirkt sich nicht auf require () aus. Wenn jedoch die Zeile, in der request () auftritt, nicht ausgeführt wird, wird auch keiner der Codes in der Zieldatei ausgeführt.
In einfacher Sprache, wenn wir "require" verwenden, müssen wir sicher sein, dass die Datei in dieser Ära existiert, während sie im Falle eines include nicht notwendig ist. Aber versuchen Sie sicherzustellen, dass die Datei existiert.
Sie können mit Beispiel verstehen include ("test.php"); echo "\ nDiese Zeile wird gedruckt";
Ausgabe: Warnung: include (test.php): Stream konnte nicht geöffnet werden: Keine solche Datei oder kein Verzeichnis in / var / www / ........ Diese Zeile wird gedruckt
require ("test.php"); echo "\ nDiese Zeile wird gedruckt"; Warnung: require (test.php): Stream konnte nicht geöffnet werden: Keine solche Datei oder kein Verzeichnis in / var / www /....
Require()
und include()
sind in Bezug auf die Handhabung gleich
Fehler. % Co_de% führt jedoch zu einem schwerwiegenden Fehler und nicht
Erlaube die Verarbeitung der Seite. d. h., include erlaubt das Skript
um fortzufahren.