Was ist der Unterschied zwischen der Funktion include() und der Funktion require() in PHP?

不言
Freigeben: 2023-04-03 17:14:02
Original
3163 Leute haben es durchsucht

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 &#39;</br>&#39;;
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);*/
Nach dem Login kopieren

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不存在会产生一个致命错误
Nach dem Login kopieren

Hinzugefügt: include, include-Bereich erforderlich

Datei a2.inc

$name="lidquan";
class Teacher{
    public function show(){
        echo &#39;my job is teacher</br>&#39;;
    }
}
function showName(){
    echo &#39;a2.inc 里面的方法&#39;;
}
Nach dem Login kopieren

Die Screenshot der Datei index.php

function a(){
    require "a2.inc";
    $teacher =new Teacher();
    $teacher->show();
}
 
a();//正常调用
 
showName();//正常调用
 
var_dump($name);//提示$name没有定义
Nach dem Login kopieren

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:

Wie verwendet PHP die Curl-Methode, um ein Java anzufordern Schnittstelle? Zwei Möglichkeiten für PHP, die Java-Schnittstelle mithilfe der Curl-Methode anzufordern

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage