PHPでは、スクリプトの実行中に指定されたファイルを含めて評価するために、 require
、 include
、 require_once
が使用されます。これらのステートメントの選択は、アプリケーションの特定のニーズに依存します。それぞれを使用する時期の詳細な説明は次のとおりです。
include : include
ステートメントには、指定されたファイルが含まれ、評価されます。ファイルが見つからない場合、警告が発行され、スクリプトが実行され続けます。通常、スクリプトが実行され続けるためにファイルが不可欠ではない場合に使用されます。これにより、オプションのコンポーネントやテンプレートを含めるのに理想的です。
<code class="php">include 'optional_file.php';</code>
要求: require
ステートメントはinclude
と同様ですが、ファイルをスクリプトの実行に不可欠なものとして扱います。ファイルが見つからない場合、致命的なエラーが発行され、スクリプトの実行が停止します。構成ファイルやコアライブラリなど、スクリプトの操作に重要なファイルを使用するrequire
。
<code class="php">require 'critical_file.php';</code>
require_once : require_once
ステートメントは、ファイルが既に含まれているかどうかを確認する場合を除きrequire
と同じです。これは、再定義されるべきではない機能またはクラスを定義するファイルを含めることに特に役立ち、機能の再定義エラーを防ぐのに役立ちます。
<code class="php">require_once 'library_file.php';</code>
特に大規模なアプリケーションでは、 require_once
require
使用することのパフォーマンスへの影響は重要な場合があります。
require_once
、ファイルが含まれていないかどうかを確認する必要があるため、 require
よりも多くのオーバーヘッドがあります。これには、より多くのリソースを消費するメモリ内に含まれるファイルのリストを維持することが含まれます。require_once
を使用すると、追加のチェックのために実行時間を増やすことができます。これは、多くの含まれる大規模なアプリケーションで特に顕著になる可能性があります。require_once
の内部追跡メカニズムには追加のメモリが必要ですが、アプリケーションに非常に多数のファイルが含まれていない限り、影響は無視できます。require_once
の代わりにrequire
を使用すると、いくつかの処理オーバーヘッドを保存できます。ただし、不確実である場合、またはファイルが一度だけ含まれていることを確認することが重要である場合(たとえば、機能の再定義エラーを避けるため)、パフォーマンスコストにもかかわらず、 require_once
使用する必要があります。 PHPにinclude
とrequire
間のエラー処理の主な違いは、エラーの重大度と、それがスクリプトの実行にどのように影響するかです。
含める:指定されたファイルがinclude
ない場合、PHPは警告(e_warning)を発行しますが、スクリプトの実行を継続します。これにより、含まれたファイルが重要であるが重要ではない場合、潜在的に変更された動作を使用して、スクリプトの残りの部分を実行できます。
<code class="php">include 'non_existent_file.php'; // Continues execution with a warning echo "This will still be executed.";</code>
要求:指定されたファイルがrequire
ない場合、PHPは致命的なエラー(e_compile_error)を発行し、スクリプトの実行を停止します。これにより、批判的なファイルが欠落している場合、スクリプトが進まないようになります。これは、アプリケーションの整合性を維持するために重要です。
<code class="php">require 'non_existent_file.php'; // Stops execution with a fatal error echo "This will not be executed.";</code>
include
の使用は、次のシナリオでより適切です。
非批判的なコンテンツ:HTMLテンプレートやオプションの機能モジュールなど、非必須コンテンツを含むファイルを含める場合、より適していinclude
。これらのファイルが欠落している場合、アプリケーションは警告で機能する可能性があります。
<code class="php">include 'optional_template.php'; // Non-critical HTML template</code>
動的包含:条件付きでファイルを含める必要がある場合、またはユーザー入力に基づいてファイルを含める必要がある場合、ファイルが欠落している場合でもスクリプトを継続できるため、 include
ことが推奨されます。
<code class="php">if ($condition) { include 'conditional_file.php'; }</code>
include
、開発者が致命的なエラーの代わりに警告を表示できるようにするのに役立ちます。ロギングと監視:ファイルがない場合は、メインアプリケーションの実行を妨げないでください。
<code class="php">include 'logging_functions.php'; // Non-critical logging</code>
これらのシナリオでは、実行を停止せずに欠落しているファイルを優雅に処理できるようにすることにより、アプリケーションの柔軟性と堅牢性を維持するのに役立ちinclude
。
以上がphp reques vsを含むvs require_once:それぞれを使用するのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。