Dieser Artikel gibt Ihnen eine detaillierte Einführung in die Themen „include“ und „require“ in PHP, damit jeder das Thema „include“ und „require“ vollständig verstehen kann.
In PHP gibt es zwei Möglichkeiten, externe Dateien einzubinden, nämlich include und require. Was ist der Unterschied zwischen ihnen?
Wenn die Datei nicht existiert oder ein Fehler auftritt, generiert require einen Fehler der Stufe E_COMPILE_ERROR und das Programm stoppt die Ausführung. Das Include generiert lediglich eine Warnung und das Skript wird weiterhin ausgeführt.
Das ist der Hauptunterschied zwischen ihnen. In anderen Aspekten ist require im Grunde dasselbe wie include.
Wenn die Datei bereits eingebunden wurde, wird sie nicht erneut eingebunden . Wie der Name dieser Anweisung schon sagt, kann „Nur einmal einschließen“
// a.php 不存在 include "a.php"; // warning // require "a.php"; // error echo 111; // 使用include时111会输出 // file1.php 中只有一行代码echo 'file1'; require_once 'includeandrequire/file1.php'; // file1 require_once 'includeandrequire/file1.php'; // noting include_once 'includeandrequire/file1.php'; // noting include_once 'includeandrequire/file1.php'; // noting require 'includeandrequire/file1.php'; // file1 require 'includeandrequire/file1.php'; // file1 require 'includeandrequire/file1.php'; // file1 require 'includeandrequire/file1.php'; // file1
file2.php <?php echo 'file2:' . $a, PHP_EOL; echo 'file2:' . $b, PHP_EOL; $b = "file2"; myFile.php <?php $a = 'myFile'; $b = 'youFile'; require_once 'includeandrequire/file2.php'; echo $a, PHP_EOL; echo $b, PHP_EOL; // 输出结果 // file2:myFile // file2:youFile // myFile // file2 file3.php <?php $c = 'file3'; myFile.php <?php function test(){ require_once 'includeandrequire/file3.php'; echo $c, PHP_EOL; // file3 } test(); echo $c, PHP_EOL; // empty
function foo(){ require_once 'includeandrequire/file3.php'; return $c; } for($a=1;$a<=5;$a++){ echo foo(), PHP_EOL; } // file3 // empty // empty // empty // empty
c-Standardwert.
Wenn eine Datei gleichzeitig mit _once in zwei Methoden geladen wird, wird sie dann trotzdem mit der zweiten Methode geladen?
function test1(){ require_once 'includeandrequire/file1.php'; } function test2(){ require_once 'includeandrequire/file1.php'; } test1(); // file1 test2(); // empty
In Bezug auf die Effizienz muss _once überprüft werden, ob die Effizienz geringer ist, aber es handelt sich nicht um einen absoluten Rückgang, der für unser bloßes Auge unsichtbar ist, sodass die Effizienz problematisch sein kann ignoriert. Und es bringt viel mehr Vorteile als ohne _once
file4.php <?php return 'file4'; file4.txt 可以吧 myFile.php <?php $v = require 'includeandrequire/file4.php'; echo $v, PHP_EOL; // file4 include 'includeandrequire/file4.txt'; // 可以吧 include 'https://www.baidu.com/index.html'; // 百度首页的html代码
function include_all_once ($pattern) { foreach (glob($pattern) as $file) { require $file; } } include_all_once('includeandrequire/*');
测试代码:https://github.com/zhangyue0503/dev-blog/blob/master/php/201911/source/%E5%BD%BB%E5%BA%95%E6%90%9E%E6%98%8E%E7%99%BDPHP%E4%B8%AD%E7%9A%84include%E5%92%8Crequire.php
PHP-Video-Tutorial
“Das obige ist der detaillierte Inhalt vonSie wissen immer noch nichts über include und require in PHP? Schauen Sie sich diesen Artikel an!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!