In diesem Artikel geht es um den Unterschied zwischen der Funktion include() und der Funktion require(). Ich hoffe, dass er für Freunde hilfreich ist .
Es gibt zu viele Online-Fragen zum Unterschied zwischen include und require in PHP. Tatsächlich kann nichts Gesagtes einer Überprüfung standhalten. Ich habe zufällig einen Screenshot wie folgt gefunden:
Ich schwöre immer noch auf die Erklärung: include() ist eine bedingte Einschlussfunktion, while require() ist eine bedingungslos eingeschlossene Funktion.
Aber das ist schon vor langer Zeit passiert. Der Autor hat die Version 5.3 oder höher getestet:
Das habe ich festgestellt Diese beiden Strukturen sind bis auf die Leistung genau gleich, mit Ausnahme der Art und Weise, wie Eindämmungsfehler behandelt werden.
1. In Bezug auf die Leistung
Der Test ergab, dass es keinen großen Leistungsunterschied zwischen require und include gibt, daher denke ich, dass dieser Aspekt nicht berücksichtigt werden muss (vielleicht habe ich das auch nicht getan). genügend Proben getestet)
<pre name="code" class="php">$startTime=time(); $startMemoryUsed=memory_get_usage(); require "a1.inc"; $endMemoryUsed=memory_get_usage(); $endTime=time(); $usedMemory=($endMemoryUsed-$startMemoryUsed)/1024; print_r($usedMemory);//1.6171875 echo '</br>'; print_r($endTime-$startTime); /*$startTime=time(); $startMemoryUsed=memory_get_usage(); include "a1.inc"; $endMemoryUsed=memory_get_usage(); $endTime=time(); $usedMemory=($endMemoryUsed-$startMemoryUsed)/1024; print_r($usedMemory);//1.6171875 print_r($endTime-$startTime);*/
2. In Bezug auf die Include-Fehlerbehandlung
Wenn die Einbindung fehlschlägt, generiert include() eine Warnung und setzt die Ausführung fort, während require() einen schwerwiegenden Fehler verursacht. Mit anderen Worten: Verwenden Sie require(), wenn Sie die Verarbeitung der Seite stoppen möchten, wenn eine fehlende Datei gefunden wird, andernfalls verwenden Sie include().
include "a9.inc";//<span style="font-family: Arial, Helvetica, sans-serif;">a9.inc不存在会产生一个警告</span> require "a10.inc";//a10.inc不存在会产生一个致命错误
Hinzugefügt: include, include-Bereich erforderlich
Datei a2.inc
$name="lidquan"; class Teacher{ public function show(){ echo 'my job is teacher</br>'; } } function showName(){ echo 'a2.inc 里面的方法'; }
Die Screenshot der Datei index.php
function a(){ require "a2.inc"; $teacher =new Teacher(); $teacher->show(); } a();//正常调用 showName();//正常调用 var_dump($name);//提示$name没有定义
lautet wie folgt:
Eine Zusammenfassung der Bereichsprobleme nach dem Einbinden der Datei lautet wie folgt:
1. Alle in der eingebundenen Datei definierten Funktionen und Klassen haben in der eingebundenen Datei einen globalen Geltungsbereich
2. Der Geltungsbereich der Variablen der eingebundenen Datei ändert sich mit dem Änderung der enthaltenen Position. Wenn es beispielsweise in eine Funktion eingebunden ist, sind die Variablen der eingebundenen Datei lokale Variablen
Empfohlene verwandte Artikel:
So speichern Sie eine Sitzung in der Datenbank und verwenden sie in PHP (mit Code)
ThinkPHP-Code-Implementierung zum Zusammenstellen von Paging-Strings im Framework
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen der Funktion include() und der Funktion require() in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!