ホームページ > バックエンド開発 > PHPチュートリアル > include、require、suffix plus Once の違い

include、require、suffix plus Once の違い

angryTom
リリース: 2023-04-07 18:10:02
転載
2459 人が閲覧しました

include、require、suffix plus Once の違い

include、require、サフィックス + 1 回の違い

include()require () ステートメントには、指定されたファイルが含まれて実行されます。インクルード ファイル内の 2 つの構造はまったく同じで、唯一の違いはエラー処理です。 require()インクルードされたファイルが存在しないことがステートメントで検出されるか、エラーが発生すると、ステートメントは実行を停止し、エラーを報告します。 include() その後、続行します。

include('hello.php'); 
echo 'include test final!';//include报错,但是会继续执行,显示:include test final! 
require('hello.php'); 
echo 'require test final!';//require报错,停止代码的执行。
ログイン後にコピー

1. include(/path/to/filename)

include() ステートメントは、呼び出された場所にファイルをインクルードします。ファイルを含めると、指定されたファイルのデータがステートメントの場所にコピーされます。

include() を使用する場合は括弧を無視できます。

include() ステートメントは条件に基づいて実行できます。条件文で include() を使用すると奇妙な現象が発生します。条件文は文ブロック中括弧またはその他の文括弧で囲む必要があります。

2. include_once(ファイル名)

include_once() 関数は include と同じ機能ですが、最初にファイルがインクルードされているかどうかを確認します。すでにインクルードされている場合、include_once は実行されなくなります。それ以外の場合は、ファイルを含める必要があります。これ以外は include と全く同じです。

3. require(filename)

require() は include とほぼ同じで、require 呼び出しが存在する場所にテンプレート ファイルをインクルードします。

require と include の間には 2 つの重要な違いがあります。まず、require の場所に関係なく、require が発生するスクリプトに仕様ファイルがインクルードされます。たとえば、false と評価される if ステートメントに require が置かれている場合でも、指定されたファイルは引き続きインクルードされます。

2 番目の重要な違いは、require が失敗するとスクリプトの実行が停止するのに対し、include の場合はスクリプトの実行が継続されることです。

4. require_once(filename)

Web サイトが大きくなるにつれて、一部のファイルが繰り返し含まれる場合があります。これは問題ではないかもしれませんが、インクルードされたファイルの変数を変更すると、後で元のファイルが再びインクルードされるため、それらの変数は上書きされ、望ましくない可能性があります。発生する可能性のあるもう 1 つの問題は、インクルードされたファイル内の関数名が競合することです。これらの問題は、require_once を使用して解決できます。

require_once 関数は、ファイルが 1 回だけ含まれることを保証します。 require_once が発生すると、その後同じファイルをインクルードしようとしても無視されます。

PHP 関連の知識の詳細については、PHP 中国語 Web サイト をご覧ください。

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

関連ラベル:
ソース:duwenfei.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート