ホームページ >バックエンド開発 >PHPチュートリアル >include_once と include の違いについての PHP の詳細な説明

include_once と include の違いについての PHP の詳細な説明

黄舟
黄舟オリジナル
2017-06-25 11:49:472600ブラウズ

include同じ関数名のファイルを2つインポートすると再定義エラーが発生します。このエラーは include_once を使用することで回避できます。通常は _once がよく使用されます。 include と _once の違いは実際の状況に基づいて決定する必要があります。

include と require の違い
インクルードするファイルが存在しない場合、include は警告 (Warning) を生成し、require は致命的なエラー (Fatal error) を引き起こす間、ステートメントに続くプログラムは実行を続けます。となり、プログラムは終了します。

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

1.include は、通常、フロー制御の処理セクションに配置されます
2.require は、通常、PHP プログラムの先頭に配置されます
3 。 _once サフィックスは、ロードされたものがロードされていないことを意味します

この問題については、インターネット上で多くの検索が行われています。 include と include_once の違いは、 include がインポートされているかどうかに関係なく、インポートされることです。ファイルが以前に導入されたかどうかを確認し、以前に導入された場合は、require_once を使用することを推奨します。オンラインで、include と require の違いを確認することをお勧めします。以下に 2 つの簡単な方法を示します:
include によって導入されたファイルが誤って送信された場合、またはファイルが存在しない場合、 include は警告を発行してプログラムの実行を続行しますが、 require は致命的なエラーを生成してプログラムを終了します。
require_once() ステートメントには、スクリプトの実行中に指定されたファイルが含まれ、実行されます。この
動作はrequire()ステートメントに似ていますが、唯一の違いは、ファイル内のコードがすでにインクルードされている場合、再度インクルードされないことです。 require_once() の機能は require() とほぼ同じです。 include_once() ステートメントは、スクリプトの実行中に指定されたファイルをインクルードして実行します。この動作は include() ステートメントに似ていますが、唯一の違いは、ファイル内のコードが既にインクルードされている場合、再度インクルードされないことです。このステートメントの名前が示すように、このステートメントは 1 回だけ含まれます。 clude_once() 関数の機能は include() とほぼ同じです。require_once の機能は、ファイルが以前にロードされているかどうかを確認し、ロードされている場合はロードしません。もう一度ロードしてください。たとえば、ファイルがタイプを定義している場合、ファイルが 2 回ロードされるとエラーが発生します。require_once を使用すると、このエラーが回避されます。私は、include と include_once の違いを学んで以来、1 回しかロードされないと考えて include_once を使用しています。繰り返しロードを避けるためでしたが、繰り返しロードされたかどうかを完全に判断できなかったようです。私がずっと間違っていたことが判明しました。
実際、プロジェクトが複数人で開発されている場合は、 include_once の方が優れています。

include_once の実行シーケンス

解析が成功したら、EG (include_files) を確認してください。 ) 存在する場合は戻ります。存在しない場合は続行します

ファイルを開いてファイルのオープンパスを取得します

開いたパスを使用して EG (include_files) に移動し、存在するかどうかを確認します。存在しない場合は返してください

ファイルをコンパイルします (compile_file

最近の内容 apc.include_once_override については何度か議論しましたが、この APC 設定項目はまだ十分に実装されていません。

ここで共有したいと思います)この問題の理由と、私たちへのインスピレーションについて説明します。 include と include_once (以下、すべて include require_once) のどちらを使用するかについては、長い議論があり、結論は常に include を使用する方が良いというものでした。以前は、include_once の代わりに、最も一般的な理由は、ロードされたファイルのリストをクエリして、存在するかどうかを確認してから、再度ロードする必要がありました

確かに、この理由は正しいですが、これから説明することです。今日については、もう 1 つの理由があります。

ファイルがロードされるかどうかを判断するにはファイルの opens_path が必要であることがわかっています。これは、たとえば次のことを意味します。

以上がinclude_once と include の違いについての PHP の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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