2010-09-07 9 views

Antwort

10

Wenn die Datei enthalten ist, ist sie enthalten.

requice_once() funktioniert genau wie include_once(), außer dass es das Skript beendet, wenn das Skript zum Einschließen nicht gefunden wird.

Daher in Ihrem Beispiel ist das Skript einmal enthalten.

0

Konzeptionell: Include tut, was es auf der Zunge sagt: Es enthält den Code von 'myfile.php' im Code der aktuellen Datei. Require ist mehr wie eine Import-Anweisung in anderen Programmiersprachen. Das _once-Suffix bedeutet, dass PHP das Einbeziehen/Anfordern der Datei verhindert, wenn sie bereits für das aktuelle Skript über eine frühere include/require-Anweisung oder rekursiv über include/require-Anweisungen in anderen importierten Skripten verfügbar ist.

0

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 trycatch 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] 
Verwandte Themen