Wird die Datei erneut oder nur einmal hinzugefügt?
myfile.php
ist nur einmal enthalten.
require_once 'myfile.php'; //included
include_once 'myfile.php'; // not included
Was ist der Unterschied zwischen den beiden?
include
und include_once
werden beide strahlen eine Warnung aus, wenn es eine Datei nicht finden kann.
require
und require
wird einen schwerwiegenden Fehler ausgeben, wenn es eine Datei nicht finden kann.
Der Unterschied zwischen include_once
und require
ist, dass, wenn sie nicht auf die Datei include_once
eine Warnung aussenden finden und require
einen fatalen Fehler emittieren.
require ist identisch zum Einschließen, außer bei einem Fehler wird auch ein schwerwiegender E_COMPILE_ERROR-Fehler ausgegeben. Mit anderen Worten, es wird das Skript anhalten, während include nur eine Warnung (E_WARNING) ausgibt, die es dem Skript ermöglicht, fortzufahren. [http://php.net/manual/en/function.require.php]
Erfordern verursacht einen Fehler bei einem Fehler und versucht sind zu erholen? irgendwelche anderen Unterschiede?
include
ermöglicht es Ihnen ja zu erholen, eine gescheiterte require
Aussage immer einen Weg endet, sogar ein try
catch
kippt Ihren Skript speichern.
Seine erwähnenswert, was ist, wenn andere Kombinationen der vier Datei Auswertung statments passieren würde (include
, include_once
, require
und require
) verwendet wurden.
Wenn die Datei
gefunden
include
und require
gehört immer die Datei unabhängig davon, ob Sie vorher require
verwendet haben, include
, require
oder include_once
mit der gleichen Datei.
include_once 'myfile.php'; //included
include 'myfile.php'; //always included
require 'myfile.php'; //always included
require_once 'myfile.php'; // not included, prevously included via [function.include_once], [function.include] and [function.require]
include_once
und require
enthält nur die Datei, wenn sie nicht vorher aufgenommen wurde unter Verwendung eines require
, include
, require
oder include_once
Aussage.
require 'myfile.php'; //always included
include_once 'myfile.php'; // not included, prevously included via [function.require]