この記事では、PHP の include と require について詳しく紹介し、誰でも include と require を徹底的に理解できるようにします。
PHP では、外部ファイルをインクルードする方法として、include と require の 2 つがあります。それらの違いは何ですか?
ファイルが存在しない場合、またはエラーが発生した場合、require は E_COMPILE_ERROR レベルのエラーを生成し、プログラムの実行が停止します。インクルードは警告のみを生成し、スクリプトは実行を続行します。
これがそれらの主な違いであり、他の点では、require は基本的に include と同じです。
ファイルが既にインクルードされている場合、再度インクルードされることはありません。このステートメントの名前が示すように、スクリプトの実行中に同じファイルが複数回インクルードされる可能性があり、それを避けるために必ず 1 回だけインクルードする必要がある場合に、only include Once
// 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 がありません。デフォルト値は空です。
2 つのメソッドで _once を使用してファイルが同時にロードされた場合、2 番目のメソッドでもそのファイルがロードされますか?
function test1(){ require_once 'includeandrequire/file1.php'; } function test2(){ require_once 'includeandrequire/file1.php'; } test1(); // file1 test2(); // empty
効率の面では、_once はファイルがロードされているかどうかを確認する必要があります。効率は低くなりますが、絶対的なものではありません。肉眼では見えない場合もあるため、その効率は低くなります。問題は無視して構いません。そして、_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 の include と require についてまだ知りませんか? この記事をご覧ください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。