Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Funktionsimport und Dateieinbindung: Der Unterschied zwischen include()- und require()-Anweisungen

PHP-Funktionsimport und Dateieinbindung: Der Unterschied zwischen include()- und require()-Anweisungen

伊谢尔伦
伊谢尔伦Original
2017-05-16 11:53:012520Durchsuche

Wenn Sie die in der Datei definierten Funktionen im PHP-Skript verwenden möchten, müssen Sie eine der Funktionen unter include(), include_once(), require() und require_once() verwenden Laden Sie die Funktionsbibliotheksdatei in das Skript. Im vorherigen Kapitel haben wir darüber gesprochen, wie man benutzerdefinierte Funktionsbibliotheken in PHP verwendet . In diesem Kapitel geht es speziell um die Unterschiede und Zusammenhänge zwischen require() und include().

PHP bietet zwei Methoden zum Einbinden externer Dateien: require() und include() sind beide gängige Methoden in Server Side Includes.

require wird verwendet als require("MyRequireFile.php"); Diese Funktion wird normalerweise am Anfang des PHP-Programms platziert. Bevor das PHP-Programm ausgeführt wird, liest es zunächst die durch require angegebene Datei ein und macht sie zu einem Teil der PHP-Programm-Webseite. Auch häufig verwendete Funktionen können auf diese Weise in Webseiten eingebunden werden. Wenn require eine Datei einschließt, wird diese unbedingt eingebunden. Wenn der Fehler auftritt, wird das folgende Skriptprogramm nicht ausgeführt Hinzufügen eines weiteren Der Inhalt einer Quelldatei wird vollständig in diese Datei kopiert. Daher wird er im Allgemeinen am Anfang der Quelldatei platziert, um auf die öffentlichen Funktionsdateien und öffentlichen Klassendateien zu verweisen, die verwendet werden müssen.

include wird verwendet als include("MyIncludeFile.php"); . Diese Funktion wird im Allgemeinen im Verarbeitungsteil der Flusskontrolle platziert. Die PHP-Programm-Webseite liest die Include-Datei nur, wenn sie sie liest. Auf diese Weise kann der Prozess der Programmausführung vereinfacht werden. Die in Include eingebundenen Dateien sind relativ. Wenn die eingebundene Datei nicht vorhanden ist, wird eine Warnung generiert, aber das folgende Skriptprogramm wird weiterhin ausgeführt. Darüber hinaus werden in Include enthaltene Dateien im Allgemeinen während der Programmausführung geschrieben.

Der Unterschied zwischen include() und require()

Der Unterschied zwischen include() und require() Dies gilt als das grundlegendste Problem in PHP. Diese beiden Verwendungszwecke sind genau gleich und es muss nicht unbedingt sein, welcher vorne und welcher in der Mitte platziert wird. Der grundlegendste Unterschied zwischen ihnen besteht in der Art und Weise, wie sie mit Fehlern umgehen.

require(): Wenn die Datei nicht existiert, wird ein schwerwiegender Fehler gemeldet. Die Ausführung des Skripts wird gestoppt.

include(): Wenn die Datei nicht existiert, wird eine Warnung angezeigt angegeben werden, aber das Skript wird fortgesetzt. Die Leistung von require() zum Ausführen von

php ist ähnlich wie bei include(). Der Unterschied besteht darin, dass bei include() die Datei jedes Mal gelesen und ausgewertet werden muss, wenn include() ausgeführt wird, während bei require() die Datei nur einmal verarbeitet wird (tatsächlich ersetzt der Dateiinhalt die require()-Anweisung). . Das bedeutet, dass es effizienter ist, require() zu verwenden, wenn Sie Code haben, der eine dieser Anweisungen enthält, und Code, der möglicherweise mehrmals ausgeführt wird. Wenn Sie andererseits bei jeder Codeausführung eine andere Datei lesen oder eine Schleife haben, die eine Reihe von Dateien durchläuft, verwenden Sie include(), da Sie eine Variable für den Namen der Datei festlegen können, die Sie einschließen möchten . Wenn das Argument ist, verwenden Sie diese Variable, wenn Sie () einschließen.

Einige zusätzliche Verbindungen und Unterschiede

1 include hat einen Rückgabewert, erfordert jedoch keinen.

2. include() schließt die angegebene Datei ein und führt sie aus. Wenn die Verarbeitung fehlschlägt, generiert include() eine Warnung. Der importierte Programmcode wird ausgeführt und ruft die Quelldatei auf . auf denselben Variablenbereich wie die include()-Anweisung. Sie können statische Seiten vom selben Server importieren.

3. Die Funktion von include_once() ist fast die gleiche wie include()

Der einzige Unterschied besteht darin, dass include_once() zunächst prüft, ob die zu importierende Datei bereits in anderen Dateien vorhanden ist im Programm Der Ort wurde importiert. Wenn dies der Fall ist, wird er nicht erneut importiert (diese Funktion ist manchmal sehr wichtig, z. B. wenn die zu importierende Funktion einige Funktionen deklariert, die Sie selbst definiert haben, und sie dann wiederholt wird). dasselbe Programm Importieren Sie diese Datei. Beim zweiten Import wird eine Fehlermeldung angezeigt, da PHP nicht zulässt, dass Funktionen mit demselben Namen zweimal deklariert werden.

4. require() liest den Inhalt der Zieldatei und ersetzt sich durch den gelesenen Inhalt. Wenn die Verarbeitung fehlschlägt, verursacht require() einen schwerwiegenden Fehler.

5. Require_once() prüft zunächst, ob der Inhalt der Zieldatei bereits importiert wurde. Wenn ja, wird derselbe Inhalt nicht erneut importiert.

6. require ist eine bedingungslose Einbindung, das heißt, wenn require zu einem Prozess hinzugefügt wird, wird require zuerst ausgeführt, unabhängig davon, ob die Bedingung wahr ist oder nicht.

Das folgende Beispiel veranschaulicht den Unterschied zwischen diesen beiden Funktionen vollständig:

Schreiben Sie zwei PHP-Dateien mit den Namen test-include.php und test-require .php. Bitte beachten Sie dies Es sollte sich keine Datei mit dem Namen test1.php im selben Verzeichnis befinden.

test-include.php
<?php
include &#39;test1.php&#39;;
echo &#39;abc&#39;;
?>
Da die Datei test1.php nicht gefunden wird, wird die Fehlermeldung „abc“ angezeigt Folgendes:

Warning: include(test1.php) [function.include]: failed to open stream: No such file or directory in D:\www\test-include.php on line 3
Warning: include() [function.include]: Failed opening &#39;test1.php&#39; for inclusion (include_path=&#39;.;C:\php5\pear&#39;) in D:\www\test-include.php on line 3
abc
test-require.php
<?php
require &#39;test1.php&#39;;
echo &#39;abc&#39;;
?>

运行上面的代码,因为没有找到test1.php文件,我们看到了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况:

Warning: require(test1.php) [function.require]: failed to open stream: No such file or directory in D:\www\test-require.php on line 3
Fatal error: require() [function.require]: Failed opening required &#39;test1&#39; (include_path=&#39;.;C:\php5\pear&#39;) in D:\www\test-require.php on line 3

【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程

2.  视频教程:函数导入与文件包含:include和require的使用

3.  php实战视频教程

Das obige ist der detaillierte Inhalt vonPHP-Funktionsimport und Dateieinbindung: Der Unterschied zwischen include()- und require()-Anweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn