ホームページ  >  記事  >  バックエンド開発  >  PHP のいくつかのインクルード ファイル関数の違いは何ですか?

PHP のいくつかのインクルード ファイル関数の違いは何ですか?

青灯夜游
青灯夜游オリジナル
2021-07-15 19:47:142651ブラウズ

違い: 1. include はエラーが発生した場合、プロンプトを表示して実行を続行しますが、require はプログラムの実行を終了します。 2. require_once と include_once でインクルードされたファイルが既にインクルードされている場合、再度インクルードされませんが、include と require ではインクルードされます。

PHP のいくつかのインクルード ファイル関数の違いは何ですか?

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

ファイルのインクルードとは、別のファイルをインクルードすることを指します。ソース ファイル すべての内容は現在のソース ファイルに含まれて使用されます。これは一般に外部ファイルの導入とも呼ばれます。外部ファイルを参照するとコードの再利用性が低下する可能性があり、これは PHP プログラミングの重要なスキルです。

PHP には、非常に単純ですが便利な 4 つの include ステートメント (include ステートメント、require ステートメント、include_once ステートメント、require_once ステートメント) が用意されています。これら 4 つのステートメントの使用には特定の違いがあります。それぞれについて以下で詳しく説明します。

1. include ステートメント

include ステートメントを使用して外部ファイルをインクルードする場合、外部ファイルはコードがインクルードされる場合にのみインクルードされます。 include ステートメントに対して実行されると、インクルードされた外部ファイルでエラーが発生すると、システムは警告を発し、PHP プログラム全体が実行を継続します。

include ステートメントの構文形式は次のとおりです。

include('filename') 或者 include 'filename'

ここで、filename はインクルードするファイル パス (相対パスと絶対パスの両方を使用できます)、filename は文字列であるため、単一です。引用符は必須です。' ' または二重引用符 " " で囲みます。同時に、include の後の括弧も省略できますが、括弧を省略する場合は、include と次のファイル名をスペースで区切る必要があります。

デモンストレーションの便宜上、ここでは以下に示すように、demo.php ファイルを準備し、その中に $str 変数を定義します。

<?php
    $str = &#39;https://www.php.cn/&#39;;
?>

[例] include ステートメントを使用してインクルードします。デモ .php ファイルのコードは次のとおりです:

<?php
    include &#39;./demo.php&#39;;
    echo $str;
?>

実行結果は次のとおりです:

https://www.php.cn/

2. require ステートメント

require ステートメントの使用法は include ステートメントと似ており、どちらも外部ファイルへの参照を実装します。 PHP ファイルが実行される前に、PHP パーサーは require ステートメントを参照ファイルの内容全体で置き換え、次に require ステートメントを除く他のステートメントを含む新しい PHP ファイルを形成し、最後に新しい PHP ファイルに従ってプログラム コードを実行します。 。

注: require ステートメントは、別のソース ファイルの内容をこのファイルに完全にコピーすることと同じであるため、通常、このステートメントはソース ファイルの先頭に配置され、パブリック関数ファイルおよび必要なファイルを参照します。公開クラスファイルなど

require ステートメントは include ステートメントとほぼ同じです。違いは、インクルードされたファイルが存在しないかエラーがある場合、require ステートメントは致命的エラーを発行してプログラムの実行を終了するのに対し、require ステートメントは include ステートメントとほぼ同じです。 include ステートメントは Warning 警告を発行しますが、プログラムは下向きに実行を続けます。

require ステートメントの構文形式は次のとおりです。

require(filename) 或者 require &#39;filename&#39;

パラメータ ファイル名はインクルードするファイルのパスであり、その特性は include ステートメントのパラメータと同じです。

[例] 上記で定義したdemo.phpファイルをrequire文でインクルードするコードは次のとおりです:

<?php
    require &#39;./demo.php&#39;;
    echo $str;
?>

実行結果は次のとおりです:

https://www.php.cn/

3. include_once ステートメント

include_once ステートメントは include ステートメントと似ていますが、唯一の違いは、インクルードされたファイルが既にインクルードされている場合はインクルードされないことです。再び含まれています。 include_once を使用すると、関数の再定義や変数の再割り当てなどの問題を回避するために、スクリプトの実行中に同じファイルが 1 回だけインクルードされるようにできます。

上記で定義したdemo.phpファイルを次のように調整してみましょう:

<?php
    echo &#39;PHP中文网<br>&#39;;
    echo &#39;https://www.php.cn/&#39;;
?>

[例] include_onceステートメントを使用してdemo.phpファイルをインクルードします。コードは次のとおりです:

<?php
    include_once &#39;./demo.php&#39;;
    include_once &#39;./demo.php&#39;;
    include_once &#39;./demo.php&#39;;
?>

実行結果は次のとおりです:

PHP中文网
https://www.php.cn/

4. require_once ステートメント

require_once ステートメントは require ステートメントの拡張です。関数は require と同じです ステートメントは基本的に似ています。違いは、require_once ステートメントを適用するときに、インクルードされるファイルがプログラム内の他の場所にインクルードされているかどうかを最初にチェックすることです。インクルードされている場合、そのファイルは再度インクルードされません。 。

[例] require_once ステートメントを使用して、demo.php ファイルをインクルードします。コードは次のとおりです:

<?php
    require_once &#39;./demo.php&#39;;
    require_once &#39;./demo.php&#39;;
    require_once &#39;./demo.php&#39;;
?>

実行結果は次のとおりです:

PHP中文网
https://www.php.cn/

推奨学習: "PHP ビデオ チュートリアル >>

以上がPHP のいくつかのインクルード ファイル関数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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