Unterschied zwischen require, include, require_once und include_once?

In PHP:

  • Wann sollte ich require vs. include verwenden?
  • Wann sollte ich require_once vs. include_once verwenden?
Lösung

Es gibt auch require und include_once.

Deine Frage sollte also lauten...

  1. Wann sollte ich require vs. include verwenden?
  2. Wann sollte ich require_once vs. require verwenden?

Die Antwort auf 1 ist [hier] beschrieben (http://www.w3schools.com/php/php_includes.asp).

Die require()-Funktion ist identisch mit der include()-Funktion, mit der Ausnahme, dass sie Fehler anders behandelt. Wenn ein Fehler auftritt, erzeugt die include()-Funktion eine Warnung, aber das Skript wird weiter ausgeführt. Die require()-Funktion erzeugt einen schwerwiegenden Fehler, und das Skript wird angehalten.

Die Antwort zu 2 finden Sie hier.

Die require_once()-Anweisung ist identisch mit require(), außer dass PHP prüft, ob die Datei bereits eingebunden wurde, und wenn ja, sie nicht erneut einbindet (require).

Kommentare (17)

Der Unterschied zwischen _once-Funktionen und ohne _once-Funktionen: Ohne _once wird der Code erneut eingebunden, während PHP mit _once-Funktionen die eingebundenen Dateien verfolgt und nur einmal einbindet.

Unterschied zwischen require und include: Wenn eine benötigte Datei nicht gefunden wird, gibt PHP einen fatalen Fehler aus, während bei include nur eine Warnung ausgegeben wird.

Kommentare (1)

Der Unterschied liegt in dem Fehler, den die Befehle erzeugen. Mit require wird die Datei, die Sie verwenden wollen, wirklich benötigt und erzeugt daher einen E_ERROR, wenn sie nicht gefunden wird.

require() ist identisch mit include(), außer dass es im Fehlerfall ebenfalls einen fatalen Fehler der Stufe E_ERROR erzeugt.

include erzeugt nur einen E_WARNING-Fehler, wenn es fehlschlägt, was mehr oder weniger still ist.

Verwenden Sie es also, wenn die Datei benötigt wird, damit der restliche Code funktioniert und Sie wollen, dass das Skript fehlschlägt, wenn die Datei nicht verfügbar ist.


Für *_once():

include_once() kann in Fällen verwendet werden, in denen dieselbe Datei mehr als einmal während einer bestimmten Ausführung eines Skripts eingebunden und ausgewertet wird. In diesem Fall kann es helfen, Probleme wie Funktionsneudefinitionen, Neuzuweisungen von Variablenwerten usw. zu vermeiden.

Dasselbe gilt natürlich auch für require_once().


Referenz: require(), include_once()

Kommentare (2)