#php でのインクルード ファイル include と require の違い (詳しい説明付き)
1 使用方法構文と導入
1. include() 構文:
include(/path/to/filename)
include() ステートメントは、呼び出された場所にファイルをインクルードします。 。ファイルを含めると、指定されたファイルのデータがステートメントの場所にコピーされます。
include() を使用する場合は括弧を無視できます。条件ステートメントで include() を使用する場合は、ステートメント ブロック中括弧で囲むか、他のステートメント ラッパーで囲む必要があります。
2. include_once() 構文:
include_once(filename)
include_once() ステートメントは、スクリプトの実行中に指定されたファイルをインクルードし、実行します。この動作は include() ステートメントに似ています。唯一の違いは、include_once() が最初にファイルが以前にインクルードされているかどうかを判断することです。インクルードされている場合、このインクルードは無視されます。
3. require() 構文:
require(filename)
require() は include とほぼ同じですが、両方ともテンプレート ファイルを要求された通話着座位置にインクルードします。 require と include の間には 2 つの重要な違いがあります。
1. require の場所に関係なく、指定されたファイルは、require が出現するスクリプトにインクルードされます。たとえば、false と評価される if ステートメントに require が置かれている場合でも、指定されたファイルは引き続きインクルードされます。
2. require エラーが発生するとスクリプトは実行を停止しますが、include を使用するとスクリプトは実行を継続します。
4. require_once() 構文:
require_once(filename)
require_once() ステートメントは、スクリプトの実行中に指定されたファイルを含めて実行します。この動作は require() ステートメントに似ています。唯一の違いは、require_once() が最初にファイルが以前にインクルードされているかどうかを判断することです。インクルードされている場合、このインクルードは無視されます。
2 相違点の概要
1. include() ステートメントと require() ステートメントの相違点。
例 1
include('hello.php'); echo 'include test final!';//include报错,但是会继续执行,显示:include test final! require('hello.php'); echo 'require test final!';//require报错,停止代码的执行。
概要:
⑴ include() は警告を生成し、スクリプトは引き続き実行されます。
⑵ require() は致命的なエラーを引き起こし、スクリプトの実行が停止します。
つまり、ファイルの欠落またはエラーが発生したときにページの処理を停止したい場合は、require() を使用します。エラーが発生したときにページの処理を続行したい場合は、include() を使用します。
PHP 4.3.5 より前では、インクルード ファイルの構文エラーによってプログラムが停止することはありませんでしたが、このバージョン以降は停止することに注意してください。
2. require() はとにかくファイルをインクルードしますが、include() は選択的に
例 2
<?php if(FALSE){ require('x.php'); } if(FALSE){ include('s.php'); } ?>
をインクルードできます。上記のコード: x.php は確実にインクルードされますが、s.php は確実にインクルードされません。
3. include_once()、require_once() と include()、require() の違い
include_once() は require_once() と同じであり、次のようにする必要があります。スクリプトの実行中に同じファイルが複数回インクルードされる可能性がある場合、関数の再定義や変数の再割り当てなどの問題を避けるために、ファイルが 1 回だけインクルードされるようにする必要があります。これが、include_once() と require_once()、および include() と require() の主な違いです。
注意が必要な 3 つの問題
1. パスの問題
特にネストされたインクルージョンしたがって、インクルードされるファイルのパスに必ず注意してください。たとえば、ファイル A にはファイル B が含まれ、ファイル B にはファイル C が含まれ、ファイル A、B、C は同じフォルダーに存在しない場合、この時点で間違いが発生しやすくなります。
解決策: dirname(__FILE__) ステートメントを使用できます。これは、現在のスクリプトの絶対パスを取得することを意味します。例: require_once(dirname(__FILE__).'/config.php');
2. 効率の問題
include_once()、require_once() , include() や require() と比較すると、少なくとも最初にファイルがインクルードされているかどうかを判断する必要があるため、効率が低くなります。この問題は PHP5 バージョンでは大幅に改善されましたが、効率にはまだ差があります。
読んでいただきありがとうございます。読んだ後に少しでも進歩があれば幸いです。
推奨チュートリアル: 「PHP チュートリアル 」
以上がPHPのインクルードファイルとリクワイアの違い(詳しい解説付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。