Heim > Backend-Entwicklung > PHP-Tutorial > include, include_once, require, require_once werden verwendet

include, include_once, require, require_once werden verwendet

WBOY
Freigeben: 2016-07-30 13:30:46
Original
1056 Leute haben es durchsucht

Das Erste, was gesagt werden muss, ist, dass die Kernfunktionen von include, include_once, require und require_once alle gleich sind, was dem direkten Kopieren des Codes der Zielwebseite entspricht.

Wenn die Leistung nicht berücksichtigt wird, können grundlegende Effekte durch die Verwendung von include, include_once, require und require_once erzielt werden. Grundsätzlich können Sie es verwenden, wie Sie möchten.

Die geringfügigen Unterschiede sind wie folgt:

Zum Beispiel gibt es eine einfache print-Anweisung in 1.php:

<?php echo "1" ?>
Nach dem Login kopieren

Das Ergebnis der Ausführung von Das folgende Programm:

<?php
include &#39;1.php&#39;;
require &#39;1.php&#39;;

include_once &#39;1.php&#39;;
require_once &#39;1.php&#39;;
?>
Nach dem Login kopieren

ist 2 Einsen statt 4 Einsen, da include und require beide bestimmte Dateien einführen, und _once bedeutet, dass sie nur einmal eingeführt werden, also diejenigen, die zuvor eingeführt wurden wird nicht erneut eingeführt.

Wenn es wie folgt geschrieben wird:

<?php
include_once &#39;1.php&#39;;
require_once &#39;1.php&#39;;
include &#39;1.php&#39;;
require &#39;1.php&#39;;
?>
Nach dem Login kopieren

ist das Ergebnis 4 Einsen.

Es ist erwähnenswert, dass _once zwar bedeutet, dass das, was zuvor eingeführt wurde, nicht mehr eingeführt wird, diese Anweisung jedoch nicht prüft, ob der Code auf der importierten Webseite identisch ist. Es gibt beispielsweise zwei Web Seiten mit genau dem gleichen Code untitled.html und untitled1.html sind:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" c/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
Nach dem Login kopieren

Wenn die folgenden Anweisungen vorhanden sind:

<?php
include_once &#39;untitled.html&#39;;
include_once &#39;untitled1.html&#39;;
?>
Nach dem Login kopieren

wird das Ergebnis sein so:


Sehen Sie, dass derselbe Teil zweimal erscheint. _once verwendet lediglich den Dateinamen, um festzustellen, ob er bereits zuvor eingeführt wurde oder nicht.

Daher kann _once nicht verhindern, dass dieselbe Ressource mit unterschiedlichen Namen mehrmals eingeführt wird.

Zusätzlich zu den unterschiedlichen Möglichkeiten, importierte Dateien zu verarbeiten, besteht der größte Unterschied zwischen include und require darin, dass include beim Einfügen einer nicht vorhandenen Datei eine Warnung generiert und das Skript weiterhin ausgeführt wird, während require eine Warnung verursacht Schwerwiegender Fehler und die Ausführung des Skripts wird gestoppt.

Wenn beispielsweise a.php nicht existiert, gibt der folgende Code immer noch b aus:

<?php
include &#39;a.php&#39;;
echo &#39;b&#39;;
?>
Nach dem Login kopieren
, aber:

<?php
require &#39;a.php&#39;;
echo &#39;b&#39;;
?>
Nach dem Login kopieren
nicht.

Es gibt außerdem folgende Unterschiede:

include() ist eine bedingte Einschlussfunktion, während require() eine bedingungslose Einschlussfunktion ist

if(FALSE){ 
    include 'file.php'; //file.php不会被引入 
} 

if(FALSE){ 
    require 'file.php'; //file.php将会被引入
}
Nach dem Login kopieren
include hat einen Return value und require haben kein

$retVal = include(’somefile.php’);
if(!empty($retVal)){
  echo “文件包含成功”;
}else{
  echo “文件包含失败”;
}
Nach dem Login kopieren
.

Die Dateien, auf die bei der Ausführung von include() verwiesen werden muss, müssen jedes Mal gelesen und ausgewertet werden. Die Dateien, auf die bei der Ausführung von require() verwiesen werden muss, werden tatsächlich nur einmal verarbeitet Wenn eine der Dateien, auf die während der Ausführung verwiesen werden muss, die require()-Anweisung ersetzt, ist ersichtlich, dass die Verwendung von require() effizienter ist, wenn Code vorhanden ist, der eine dieser Anweisungen enthält, und Code, der möglicherweise mehrmals ausgeführt wird. . Wenn bei jeder Codeausführung eine andere Datei gelesen wird oder eine Reihe von Dateiiterationsschleifen vorhanden sind, verwenden Sie include().

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 des PHP-Programms Webseite teilen. Auch häufig verwendete Funktionen können auf diese Weise in Webseiten eingebunden werden. Normalerweise wird die Include-Methode verwendet, und diese Funktion wird normalerweise im Verarbeitungsteil der Prozesssteuerung 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.

Außerdem gilt hinsichtlich der Frage, ob nach include und require Klammern hinzugefügt werden sollen, theoretisch: Es gibt keinen Unterschied in den Ausführungsergebnissen zwischen include und require, aber das Hinzufügen von Klammern ist weniger effizient, sodass die Klammern weggelassen werden können Fügen Sie danach keine Klammern hinzu.

Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige hat die Unterschiede zwischen include, include_once, require und require_once vorgestellt, einschließlich der relevanten Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

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