ホームページ >バックエンド開発 >PHPチュートリアル >PHPのinclude()関数とrequire()関数の違いは何ですか?
この記事の内容は、PHP の include() 関数と require() 関数の違いについてであり、一定の参考値がありますので、困っている方は参考にしていただければ幸いです。
PHP の include と require の違いについては、インターネット上に情報が多すぎます。実際、言われたことは検証に値しません。次のようなスクリーンショットを偶然見つけました:
そして私は今でもその説明を信じています: include() は条件付き包含関数ですが、 require() は無条件に組み込まれる関数です。
しかし、これはずっと前のことです。現在の PHP では、require と include の間には確かに違いがあります。著者はバージョン 5.3 以降をテストしました。テスト結果は次のとおりです:
私は次のことを発見しました。これら 2 つの構造は、封じ込め障害の処理方法を除いてパフォーマンスがまったく同じであることを除きます。
1. パフォーマンスに関しては、
テストの結果、require と include でパフォーマンスに大きな差がないことがわかりました。この点は考慮する必要がないと感じています (考慮していなかったかもしれません)十分なサンプルをテストしてください)
<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 '</br>'; 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);*/
2. インクルードのエラー処理に関しては、
インクルードが失敗すると、include() は警告を生成して実行を続行しますが、require() は致命的なエラーを引き起こします。つまり、ファイルが見つからないときにページの処理を停止したい場合は require() を使用し、それ以外の場合は include() を使用します。
include "a9.inc";//<span style="font-family: Arial, Helvetica, sans-serif;">a9.inc不存在会产生一个警告</span> require "a10.inc";//a10.inc不存在会产生一个致命错误
補足: include、require include スコープ
ファイル a2.inc
$name="lidquan"; class Teacher{ public function show(){ echo 'my job is teacher</br>'; } } function showName(){ echo 'a2.inc 里面的方法'; }
ファイルindex.php
function a(){ require "a2.inc"; $teacher =new Teacher(); $teacher->show(); } a();//正常调用 showName();//正常调用 var_dump($name);//提示$name没有定义
のスクリーンショットは次のとおりです:
ファイルを含めた後のスコープの問題の概要は次のとおりです:
1. All in インクルードされた後、インクルードされたファイルで定義された関数とクラスは、インクルードされたファイル内でグローバル スコープを持ちます。
php は Java をリクエストするために、curl メソッドをどのように使用しますかインターフェース? PHP がカールメソッドを使用して Java インターフェースをリクエストするための 2 つの方法
セッションをデータベースに保存し、PHP で使用する方法 (コード付き)
フレームワークでページング文字列を組み立てるための ThinkPHP コード実装
以上がPHPのinclude()関数とrequire()関数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。