Ich möchte wissen, wann ich include
oder require
verwenden soll und was ist der Vorteil von jedem einzelnen.Was ist der Unterschied zwischen require und include mit PHP?
Antwort
require
erfordert, include
enthält.
Laut Handbuch:
require() identisch ist(), außer bei einem Fehler enthalten sie einen tödlichen E_ERROR Level-Fehler erzeugen wird. Mit anderen Worten, es stoppt das Skript, während include() nur eine Warnung (E_WARNING) ausgibt, die es dem Skript erlaubt, fortzufahren.
Per http://www.alt-php-faq.org/local/78/:
Im Gegensatz zu include(), require() wird immer in der Zieldatei zu lesen, auch wenn die Linie auf, es ist nie ausgeführt. 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 require() auftritt, nicht ausgeführt wird, wird auch keiner der Code in der Zieldatei ausgeführt.
Der einzige Unterschied zwischen include() und require() besteht darin, dass bei einem Fehler (d. H. Wenn die Datei nicht gefunden wird) require() einen Fehler ausgibt, während include() eine Warnung ausgibt. – mjs
Der Unterschied ist dies: Include wird nicht fehlschlagen, wenn es die Ressource nicht finden kann, erfordern wird. Ehrlich gesagt, ist es irgendwie albern, dass es überhaupt existiert, denn wenn du versuchst, eine Ressource zu laden, zählst du ziemlich darauf, dass es 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.
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 beim Importieren von code/class/function-Bibliotheken require 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 benötigen PHP, um Ihre Datei, und wenn es nicht möglich ist, Sie aufhören.
Verwenden Sie Include, wenn Sie PHP verwenden, um Inhalte auszugeben oder 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.
Vielen Dank für die Bereitstellung des Anwendungsfalls für include. Ich konnte nicht verstehen, wann ich es vorher benutzen sollte. – JDelage
In einfacher Sprache, wenn wir erfordern, müssen wir sicher sein, dass die Datei in dieser Ära existiert, während es im Falle des Einschließens nicht notwendig ist.Aber versuchen Sie sicherzustellen, dass die Datei existiert.
Require()
und include()
sind die gleichen in Bezug auf die Handhabung Fehler. require()
führt jedoch zu einem schwerwiegenden Fehler und ermöglicht nicht die Verarbeitung der Seite. d. h. Mit "include" wird das Skript fortgesetzt.
Sowohl "include" als auch "require" sind ** Sprachkonstrukte **. Sie verwenden keine Klammern. – Jimbo
Include and require are identical, except upon failure:
require will produce a fatal error (E_COMPILE_ERROR) and stop the script
include will only produce a warning (E_WARNING) and the script will continue
Sie mit examle verstehen können include ("test.php"); echo "\ nDiese Zeile wird gedruckt";
Ausgang: Warning: include (test.php): failed to open stream: Datei oder ein Verzeichnis in/var/www/........ Diese Linie wird
erfordern drucken werden ("test.php"); echo "\ nDiese Zeile wird gedruckt"; Warnung: erfordern (test.php): Fehler beim Öffnen des Streams: Keine solche Datei oder Verzeichnis in/var/www/....
- 1. PHP include() und require()
- 2. Komponist: Was ist der Unterschied zwischen Require und Autoloader?
- 3. Was ist der Unterschied zwischen require und load in Lisp?
- 4. Was ist der Unterschied zwischen define und require in RequireJS?
- 5. Was ist der Unterschied zwischen "extend" und "include" in Jade?
- 6. Was ist der Unterschied zwischen @include und @match in userscripts?
- 7. Was ist der Unterschied zwischen `Range # include?` Und `Range # cover?`?
- 8. Was ist der Unterschied zwischen xsd: include und xsd: import?
- 9. Erlang: Was ist der Unterschied zwischen "include_lib" und "include"?
- 10. Require/include Fehler PHP
- 11. Was ist der Unterschied zwischen PHP erforderlich und enthalten?
- 12. Der Unterschied zwischen cq include, sling include und jsp include
- 13. include/require einmal in php
- 14. Was ist der Unterschied zwischen `==` und `ist`?
- 15. PHP-Namespacesyntax: Was ist der Unterschied zwischen Zahnspange und Zahnspange?
- 16. , was der Unterschied zwischen PHP Regex ist und Javascript regex
- 17. PHP-Verhalten von include/require innerhalb konditionaler
- 18. In PHP, was ist der Unterschied zwischen Hash und mhash?
- 19. Was ist der Unterschied zwischen 'und "in PHP
- 20. Was ist der Unterschied zwischen Funktionstest(); und test(); in PHP?
- 21. Was ist der Unterschied zwischen 'isset()' und '! Empty()' in PHP?
- 22. Was ist der Unterschied zwischen Zeitstempel in Java und PHP?
- 23. Was ist der Unterschied zwischen $ a und $$ in PHP?
- 24. PHP: Was ist der Unterschied zwischen $ var und & $ var?
- 25. Was ist der Unterschied zwischen 'stripcslashes' und 'stripeslashes' in PHP?
- 26. RequireJS: Unterschied zwischen require() und define()
- 27. Was ist der Unterschied zwischen app.use und app.get mit express.static?
- 28. Was ist der Unterschied zwischen:.! und: r !?
- 29. Was ist der Unterschied zwischen Difftime und '-'?
- 30. Was ist der Unterschied zwischen $ und $$?
verwenden Sie, um anders zu sein, obwohl :-) – dusoft
True, aber das interessante wäre zu verstehen, wann man das eine oder andere benutzt. – JDelage