ホームページ >バックエンド開発 >PHPチュートリアル >require()、include()、require_once() と include_once() の違い_PHP チュートリアル
読者が比較して学べるように、これら 2 つの文を一緒に紹介します。
1.require() ステートメント
require() ステートメントは、C 言語の include() ステートメントと同様に、ステートメント自体の代わりにファイルを指定するために使用されます。 PHP 構成ファイル php.ini 内の URL fopen ラッパーがオンになっている場合 (デフォルトでオンになっています)、URL を使用してファイルの場所を指定し、リモート ファイル呼び出しを行うことができます。
1 つは、require() ステートメントと include() ステートメントを使用するときに特別な注意を払うことです。つまり、インクルードされたファイルでは、プロセッサは HTML モードに従ってコンテンツを解釈し、インクルードされたコンテンツを処理した後、PHP モードに戻ります。したがって、インクルードされたファイルで PHP 構文を使用する必要がある場合は、正しい PHP 開始タグと終了タグを使用してこれらのステートメントをインクルードする必要があります。
require() と include() は PHP の言語機能であり、関数ではありません。これらは多くの点で関数とは異なります。
例: require() に含まれるファイルには制御構造を含めることはできず、return などのステートメントは使用できません。 require() に含まれるファイルで return ステートメントを使用すると、処理エラーが発生します。 include() ステートメントとは異なり、require() ステートメントは、ステートメントが実行されるかどうかに関係なく、含まれるファイルの内容を無条件に読み取ります。したがって、異なる条件に従って異なるファイルをインクルードする場合は、include() ステートメントを使用する必要があります。もちろん、require() の位置にあるステートメントが実行されない場合、require() に含まれるファイル内のステートメントも実行されません。
require() は、ループ本体内の異なる条件に基づいて異なるファイルを含めることはできません。 require() ステートメントは、ステートメント自体を置き換えるために初めて実行されるときにのみ、ステートメントに含まれるファイルの内容を呼び出します。再度実行されるときは、最初に含まれるステートメントのみが実行されます。ただし、 include() ステートメントでは、ループ本体にさまざまなファイルを含めることができます。
require() ステートメント内の変数は、require() ステートメントの場所にある変数スコープを継承します。 require() ステートメントの場所でアクセスできるすべての変数は、require() ステートメントに含まれるファイル内でアクセスできます。 require() ステートメントが関数内にある場合、インクルードされたファイル内のステートメントは関数内で定義されているものと同等になります。
require() ステートメントは、PHP プログラムが実行される前に require によって参照されるファイルを読み取るため、通常、require はプログラムの先頭に置かれます。したがって、require ステートメントは少し強力であるという事実に特別な注意を払う必要があります。プログラムが参照ファイルを本当に必要とするかどうかに関係なく、require ステートメントを使用する限り、参照ファイルが含まれてしまいます。この関数を使用して条件制御ステートメントにインクルードすると、条件が true でなくても、参照されたファイルがインクルードされます。ゾンビが形成されると、操作中に目に見える影響はありませんが、明らかに負担が増加しますので、特に注意してください。 require ステートメントを使用してインクルード エラーが発生した場合、プログラムはエラー メッセージを出力して実行を停止します。 !
ファイルの URL を宣言することで require() ステートメントにリモート ファイルが含まれており、リモート サーバーが PHP コードに従ってファイルを解釈する場合、ローカル PHP ファイルに含まれるコンテンツはリモート サーバーでの処理の結果です。 。例: