Heim  >  Artikel  >  Backend-Entwicklung  >  Es gibt verschiedene Möglichkeiten, Dateien in PHP zu referenzieren

Es gibt verschiedene Möglichkeiten, Dateien in PHP zu referenzieren

青灯夜游
青灯夜游Original
2021-05-12 17:50:366634Durchsuche

Es gibt 4 Möglichkeiten, Dateien in PHP zu referenzieren: 1. Verwenden Sie die Funktion include(), die an einer beliebigen Stelle im PHP-Skript platziert werden kann. 2. Die Funktion require() wird normalerweise am Anfang des PHP-Skripts platziert. include_once()-Funktion; 4. require_once()-Funktion.

Es gibt verschiedene Möglichkeiten, Dateien in PHP zu referenzieren

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Es gibt vier Anweisungen zum Laden von Dateien in PHP: include, require, include_once, require_once.

Grundlegende Syntax

require: Die require-Funktion wird im Allgemeinen am Anfang des PHP-Skripts platziert. Bevor PHP ausgeführt wird, liest es die von require importierte Datei, schließt sie ein und versucht, die importierte Skriptdatei auszuführen. Die Funktionsweise von require besteht darin, die Ausführungseffizienz von PHP zu verbessern. Nachdem es einmal auf derselben Webseite interpretiert wurde, wird es beim zweiten Mal nicht interpretiert. Da importierte Dateien jedoch nicht wiederholt interpretiert werden, müssen Sie include verwenden, wenn Sie Schleifen oder bedingte Anweisungen verwenden, um Dateien in PHP einzuführen.

include: kann an einer beliebigen Stelle im PHP-Skript platziert werden, normalerweise im Verarbeitungsteil der Prozesssteuerung. Wenn das PHP-Skript in der durch include angegebenen Datei ausgeführt wird, wird es eingebunden und es wird versucht, es auszuführen. Diese Methode kann den Prozess der Programmausführung vereinfachen. Wenn Sie zum zweiten Mal auf dieselbe Datei stoßen, interpretiert PHP sie immer noch neu. Die Ausführungseffizienz von include ist viel geringer als die von require. Gleichzeitig wird die benutzerdefinierte Funktion in die importierte Datei aufgenommen. PHP wird das Problem der wiederholten Funktionsdefinition während des Interpretationsprozesses haben.

require_once/include_once: Die Funktionen sind die gleichen wie require/include. Der Unterschied besteht darin, dass bei ihrer Ausführung zunächst geprüft wird, ob der Zielinhalt bereits importiert wurde noch einmal vorgestellt werden.

Der Unterschied zwischen

include und require:

include hat einen Rückgabewert, während require keinen Rückgabewert hat

Wenn include eine Datei nicht laden kann, wird eine Warnung (E_WARNING) generiert und das Skript wird dies tun weiterhin ausführen, nachdem der Fehler aufgetreten ist. Daher wird include verwendet, wenn Sie die Ausführung fortsetzen und Ergebnisse an den Benutzer ausgeben möchten.

//test1.php
<?php
include &#39;./tsest.php&#39;;
echo &#39;this is test1&#39;;
?>

//test2.php
<?php
echo &#39;this is test2\n&#39;;
function test() {
    echo &#39;this is test\n&#39;;
}
?>

//结果:
this is test1

require generiert einen schwerwiegenden Fehler (E_COMPILE_ERROR), wenn der Ladevorgang fehlschlägt, und die Ausführung des Skripts stoppt, nachdem der Fehler auftritt. Wird im Allgemeinen verwendet, wenn nachfolgender Code von der geladenen Datei abhängt.

//test1.php
<?php
require &#39;./tsest.php&#39;;
echo &#39;this is test1&#39;;
?>

//test2.php
<?php
echo &#39;this is test2\n&#39;;
function test() {
    echo &#39;this is test\n&#39;;
}
?>

Ergebnis:

include und include_once:

Die per include geladenen Dateien werden nicht als Duplikate gewertet. Solange eine Include-Anweisung vorhanden ist, wird sie einmal geladen (auch wenn Duplikate auftreten können) wird geladen). Wenn include_once eine Datei lädt, gibt es einen internen Beurteilungsmechanismus, um festzustellen, ob der vorherige Code geladen wurde. Hierbei ist zu beachten, dass include_once anhand der Frage beurteilt wird, ob zuvor eine Datei mit demselben Pfad importiert wurde, und nicht anhand des Inhalts der Datei (d. h. der Inhalt der beiden zu importierenden Dateien ist derselbe). , und die Verwendung von include_once führt immer noch zwei ein).

//test1.php
<?php
include &#39;./test2.php&#39;;
echo &#39;this is test1&#39;;
include &#39;./test2.php&#39;;
?>

//test2.php
<?php
echo &#39;this is test2&#39;;
?>

//结果:
this is test2this is test1this is test2


//test1.php
<?php
include &#39;./test2.php&#39;;
echo &#39;this is test1&#39;;
include_once &#39;./test2.php&#39;;
?>

//test2.php
<?php
echo &#39;this is test2&#39;;
?>

//结果:
this is test2this is test1


//test1.php
<?php
include_once &#39;./test2.php&#39;;
echo &#39;this is test1&#39;;
include &#39;./test2.php&#39;;
?>

//test2.php
<?php
echo &#39;this is test2&#39;;
?>

//结果:
this is test2this is test1this is test2


//test1.php
<?php
include_once &#39;./test2.php&#39;;
echo &#39;this is test1&#39;;
include_once &#39;./test2.php&#39;;
?>

//test2.php
<?php
echo &#39;this is test2&#39;;
?>

//结果:
this is test2this is test1

require und require_once: Gleiches wie der Unterschied zwischen include und include_once.

Ausführungsprozess beim Laden

1. Beenden Sie den PHP-Skriptmodus über die Include-Anweisung (erforderlich) (geben Sie den HTML-Codemodus ein)

2. Laden Sie den Code in die durch die Include-Anweisung festgelegte Datei und versuchen Sie, ihn auszuführen

3 . Verlassen Sie den HTML-Modus, wechseln Sie erneut in den PHP-Skriptmodus und fahren Sie mit der Ausführung des nachfolgenden Skriptprogramms fort

Vergleich der RückgabewerteWie oben erwähnt, hat include einen Rückgabewert, während require keinen Rückgabewert hat

对于include,如果载入成功,有返回值,返回值为1;如果载入失败,则返回false.

对于require,如果载入成功,有返回值,返回值为1;如果载入失败,无返回值。

//test1.php
<?php

$a = include "./test2.php";
var_dump($a);
echo "<br>";

$b = include "./test2.phps";
var_dump($b);
echo "<br>";

$c = require "./test2.php";
var_dump($c);
echo "<br>";

$d = require "./test2.phps";
var_dump($d);

?>

输出:

Es gibt verschiedene Möglichkeiten, Dateien in PHP zu referenzieren

当文件中有return:

当被载入文件中有return语句时,会有另外的机制,此时return语句的作用是终止载入过程,即被载入文件中return语句的后续代码不再载入。return语句也可以用于被载入文件载入时返回一个数据。

//test1.php
<?php
$a = include "./test2.php";
echo "<br>";
var_dump($a);
?>


//test2.php
//该文件中有return语句
<?php
$b = &#39;test2&#39;;
echo "被载入的文件:A 位置";
return $b;
echo "<br 被载入的文件: B 位置";
?>

结果:

Es gibt verschiedene Möglichkeiten, Dateien in PHP zu referenzieren

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonEs gibt verschiedene Möglichkeiten, Dateien in PHP zu referenzieren. 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