ホームページ >バックエンド開発 >PHPチュートリアル >include、require、require_once ステートメントの違いは何ですか?

include、require、require_once ステートメントの違いは何ですか?

WBOY
WBOYオリジナル
2016-06-23 13:49:261013ブラウズ

include、require、require_once ステートメントの違いは何ですか?


ディスカッションへの返信 (解決策)



include() ステートメントは、指定されたファイルをインクルードして実行します。

2 つの構造は、障害の処理方法を除いてまったく同じです。 include() は警告を生成し、require() は致命的なエラーを引き起こします。つまり、ファイルが見つからない場合にページの処理を停止したい場合は、require() を使用します。 include() の場合はそうではなく、スクリプトは引き続き実行されます。また、適切な include_path が設定されていることを確認してください。 PHP 4.3.5 より前では、インクルード ファイル内の構文エラーによってプログラムが停止することはありませんでしたが、このバージョンからは停止することに注意してください。
include_once

include_once() ステートメントは、スクリプトの実行中に指定されたファイルをインクルードして実行します。この動作は include() ステートメントに似ていますが、唯一の違いは、ファイル内のコードが既にインクルードされている場合、再度インクルードされないことです。このステートメントの名前が示すように、このステートメントは 1 回だけ含まれます。

include_once() は、スクリプトの実行中に同じファイルが複数回インクルードされる可能性があり、関数の再定義や変数の再割り当てなどの問題を回避するために、ファイルが 1 回だけインクルードされるようにしたい場合に使用する必要があります。
require_once

require_once() ステートメントは、スクリプトの実行中に指定されたファイルを含めて実行します。この動作は require() ステートメントに似ていますが、唯一の違いは、ファイル内のコードが既にインクルードされている場合、再度インクルードされないことです。このステートメントがどのように機能するかについては、require() のドキュメントを参照してください。

require_once() は、スクリプトの実行中に同じファイルが複数回インクルードされる可能性があり、関数の再定義や変数の再割り当てなどの問題を避けるために、ファイルが 1 回だけインクルードされるようにしたい場合に使用する必要があります。

1. include()
include(/path/to/filename)
include() ステートメントは、呼び出された場所にファイルをインクルードします。ファイルを含めると、指定されたファイルのデータがステートメントの場所にコピーされます。
include() を使用するときは括弧を無視できます。
include() ステートメントは条件に基づいて実行できます。条件文で include() を使用すると、奇妙な現象が発生します。文ブロック中括弧またはその他の文括弧で囲む必要があります。
2. include_once()
include_once(filename)
include_once() 関数は include と同じ機能ですが、最初にファイルがインクルードされているかどうかを確認します。すでにインクルードされている場合、include_once は実行されなくなります。それ以外の場合は、ファイルを含める必要があります。これ以外は include と全く同じです。
3. require()
require(filename)
require() は include とほぼ同じですが、require 呼び出しが存在する場所にテンプレート ファイルを含めます。
require と include の間には 2 つの重要な違いがあります。まず、require の場所に関係なく、require が出現するスクリプトに仕様ファイルがインクルードされます。たとえば、false と評価される if ステートメントに require が置かれている場合でも、指定されたファイルは引き続きインクルードされます。
2 番目の重要な違いは、require が失敗するとスクリプトの実行が停止するのに対し、include の場合はスクリプトの実行が継続されることです。
4. require_once()
require_once(filename)
Web サイトが大きくなるにつれて、いくつかのファイルが繰り返しインクルードされる場合があります。これは問題ではないかもしれませんが、インクルードされたファイルの変数を変更すると、後で元のファイルが再度インクルードされるため、それらの変数は上書きされ、望ましくない可能性があります。発生する可能性のあるもう 1 つの問題は、インクルードされたファイル内の関数名が競合することです。これらの問題は、require_once を使用して解決できます。
require_once 関数は、ファイルが 1 回だけインクルードされることを保証します。 require_once が発生すると、その後同じファイルをインクルードしようとしても無視されます。

1. include()
include(/path/to/filename)
include() ステートメントは、呼び出された場所にファイルをインクルードします。ファイルを含めると、指定されたファイルのデータがステートメントの場所にコピーされます。
include() を使用するときは括弧を無視できます。
include() ステートメントは条件に基づいて実行できます。条件文で include() を使用すると、奇妙な現象が発生します。文ブロック中括弧またはその他の文括弧で囲む必要があります。
2. include_once()
include_once(filename)
include_once() 関数は include と同じ機能ですが、最初にファイルがインクルードされているかどうかを確認します。すでにインクルードされている場合、include_once は実行されなくなります。それ以外の場合は、ファイルを含める必要があります。これ以外は include と全く同じです。
3. require()
require(filename)
require() は include とほぼ同じですが、require 呼び出しが存在する場所にテンプレート ファイルを含めます。
require と include の間には 2 つの重要な違いがあります。まず、require の場所に関係なく、require が出現するスクリプトに仕様ファイルがインクルードされます。たとえば、false と評価される if ステートメントに require が置かれている場合でも、指定されたファイルは引き続きインクルードされます。
2 番目の重要な違いは、require が失敗するとスクリプトの実行が停止するのに対し、include の場合はスクリプトの実行が継続されることです。
4. require_once()
require_once(filename)
Web サイトが大きくなるにつれて、いくつかのファイルが繰り返しインクルードされる場合があります。これは問題ではないかもしれませんが、インクルードされたファイルの変数を変更すると、後で元のファイルが再度インクルードされるため、それらの変数は上書きされ、望ましくない可能性があります。発生する可能性のあるもう 1 つの問題は、インクルードされたファイル内の関数名が競合することです。これらの問題は、require_once を使用して解決できます。
require_once 関数は、ファイルが 1 回だけインクルードされることを保証します。 require_once が発生すると、その後同じファイルをインクルードしようとしても無視されます。

上の階に進みます:
require() は include とほぼ同じであり、require 呼び出しが存在する場所へのテンプレート ファイルが含まれます。
require と include の間には 2 つの重要な違いがあります。まず、require の場所に関係なく、require が出現するスクリプトに仕様ファイルがインクルードされます。たとえば、false と評価される if ステートメントに require が置かれている場合でも、指定されたファイルは引き続きインクルードされます。
2 番目の重要な違いは、require が失敗するとスクリプトの実行が停止するのに対し、include の場合はスクリプトの実行が継続されることです。

面接でよくある質問。上の階の人が仕上げてくれました。

通常は require と require_once を使用します

より簡単に:
3 つはすべてインポートされたファイルです。
インポートされたファイルが存在しない場合、 include は警告を出しますが、コードの実行は停止しません。一方、 require は、関数の再定義などを防ぐために、ファイルを 1 回だけ導入します。

1. include() の関数: ファイルが呼び出された場所にインクルードされます。

2. nclude_once() 関数は include と同じ機能を持ちます
3. require(): ほとんどの場合、include と同じです。 、両方とも必要なテンプレート ファイルが含まれており、Location と呼ばれます。
4. require_once 関数は、ファイルが 1 回だけインクルードされることを保証します。 require_once が発生すると、その後同じファイルをインクルードしようとしても無視されます。
違い:
1. require エラーが発生するとスクリプトは実行を停止しますが、include を使用するとスクリプトは実行を継続します。
2. require の場所に関係なく、指定されたファイルは require が出現するスクリプトにインクルードされます。たとえば、false と評価される if ステートメントに require が置かれている場合でも、指定されたファイルは引き続きインクルードされます。
3. include_once() 関数と include の違い: include_once() は最初にファイルがインクルードされているかどうかを確認します。すでにインクルードされている場合、include_once は実行されなくなります。それ以外の場合は、ファイルを含める必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。