Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Unterschied zwischen PHP mit include und require zum Einführen von Dateien?

Was ist der Unterschied zwischen PHP mit include und require zum Einführen von Dateien?

怪我咯
怪我咯Original
2017-07-06 10:19:361145Durchsuche

Die Leistung der require()-Anweisung ähnelt der von include(), da sie die angegebene Datei einschließt und ausführt. Der Unterschied besteht darin, dass bei der include()-Anweisung die Datei bei jeder Ausführung gelesen und ausgewertet wird, während bei require() die Datei nur einmal verarbeitet wird (tatsächlich ersetzt der Dateiinhalt die require()-Anweisung).

Kürzlich haben einige Freunde Fragen zu require_once gestellt. Die im Programm aufgetretenen Probleme sind langweilig und schwierig. Solange der Fehler besteht, lohnt es sich, ihn zu untersuchen und zu lösen . . Als Antwort auf dieses Problem fasse ich die detaillierte Verwendung von include und require zusammen. (Integriert durch die Kombination der Informationen und meines eigenen Verständnisses) Ich hoffe, dass es Freunden in Not helfen kann.

Einführungsdatei:

Zuerst benötigen Sie eine PHP-Datei:

<?php
class shao//类名必须和文件名相同!!!
{
  public $xxx="666";
}
$shili = new shao();
echo $shili->xxx;
?>

Zitat:

<?php
//引入文件
include "shao.php";//引用文件;只能引用一遍
//引用多个则费劲
//include_once("shao.php");//一次又一次
//也可以require ("shao.php");
?>

Der Unterschied zwischen include und require:

require:

Nur ​​beim Ausführen von require() Die Datei wird einmal gelesen und daher häufig am Anfang des Programms platziert. Nachdem die Datei importiert wurde, kompiliert PHP die Webseitendatei neu, sodass die importierte Datei Teil der ursprünglichen Webseite wird.

require(): Unbedingte Aufnahme. Wenn die Datei nicht vorhanden ist, wird die Ausführung des Skripts gestoppt.
Wenn require einen Fehler feststellt, wird ein Fehler gemeldet Fehler und stoppen Sie die Ausführung des Programms

include:

Bei der Ausführung von include() wird die Datei jedes Mal gelesen, daher wird sie oft in verwendet Abschnitt der Prozesssteuerung, wie z. B. Bedingte Beurteilung oder in einer Schleife.
include(): Wenn die Datei nicht vorhanden ist, wird eine Warnung ausgegeben, aber das Skript wird weiterhin ausgeführt.
Wenn include auf einen Fehler stößt (die referenzierte Datei existiert nicht), wird dies von PHP ausgeführt Melden Sie einfach einen Fehler, aber das Programm wird weiterhin ausgeführt.

Folgendes sind Ergänzungen:

1 include hat einen Rückgabewert, aber erfordert nicht.
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 include( in der Quelldatei auf . )-Anweisung befindet sich im gleichen Variablenbereich . 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 an anderer Stelle im Programm importiert wurde Funktion ist manchmal sehr wichtig, wenn die Datei, die Sie importieren möchten, einige Funktionen deklariert, die Sie selbst definiert haben. Wenn Sie diese Datei wiederholt im selben Programm importieren, wird die Datei beim zweiten Import nicht erneut importiert Es kommt zu einer Fehlermeldung, da PHP nicht zulässt, dass Funktionen mit demselben Namen ein zweites Mal 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. Diese Lese- und Ersetzungsaktion findet statt, wenn die PHP-Engine Ihren Programmcode kompiliert, und nicht, wenn die PHP-Engine mit der Ausführung des kompilierten Programmcodes beginnt (die Arbeitsweise der PHP 3.0-Engine besteht darin, jeweils eine Zeile zu kompilieren und auszuführen. Aber seitdem haben sich die Dinge geändert PHP 4.0. PHP 4.0 kompiliert zunächst den gesamten Programmcode und führt dann den kompilierten Programmcode auf einmal aus. Während des Kompilierungsprozesses wird kein Programmcode ausgeführt. require() wird normalerweise zum Importieren statischer Inhalte verwendet, während include() zum Importieren dynamischen Programmcodes geeignet ist.
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.
7. require 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.
8. Include wird im Allgemeinen in den Verarbeitungsteil der Prozesssteuerung eingefügt. Die PHP-Programm-Webseite liest die eingebundene Datei nur dann, wenn sie sie liest. Diese Methode kann den Prozess der Programmausführung vereinfachen.

Es wird empfohlen, require_once() und include_once() zu verwenden, um zu erkennen, ob Dateien wiederholt eingebunden werden.

Automatisches Laden:

Referenzierte PHP-Datei:

<?php
class shao//类名必须和文件名相同!!!
{
  public $xxx="666";
}

?>

Automatisches Laden:

<?php
function autoload($asd)
{
  require $asd.".php";//可填地址查找
}
$shili = new shao();
echo $shili->xxx;
?>


Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen PHP mit include und require zum Einführen von Dateien?. 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