ホームページ  >  記事  >  バックエンド開発  >  PHPのインクルードファイルとリクワイアの違い(詳しい解説付き)

PHPのインクルードファイルとリクワイアの違い(詳しい解説付き)

烟雨青岚
烟雨青岚転載
2020-06-08 14:43:312508ブラウズ

PHPのインクルードファイルとリクワイアの違い(詳しい解説付き)

#php でのインクルード ファイル include と require の違い (詳しい説明付き)

1 使用方法構文と導入

1. include() 構文:

include(/path/to/filename)

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

include() を使用する場合は括弧を無視できます。条件ステートメントで include() を使用する場合は、ステートメント ブロック中括弧で囲むか、他のステートメント ラッパーで囲む必要があります。

2. include_once() 構文:

include_once(filename)

include_once() ステートメントは、スクリプトの実行中に指定されたファイルをインクルードし、実行します。この動作は include() ステートメントに似ています。唯一の違いは、include_once() が最初にファイルが以前にインクルードされているかどうかを判断することです。インクルードされている場合、このインクルードは無視されます。

3. require() 構文:

require(filename)

require() は include とほぼ同じですが、両方ともテンプレート ファイルを要求された通話着座位置にインクルードします。 require と include の間には 2 つの重要な違いがあります。

1. require の場所に関係なく、指定されたファイルは、require が出現するスクリプトにインクルードされます。たとえば、false と評価される if ステートメントに require が置かれている場合でも、指定されたファイルは引き続きインクルードされます。

2. require エラーが発生するとスクリプトは実行を停止しますが、include を使用するとスクリプトは実行を継続します。

4. require_once() 構文:

require_once(filename)

require_once() ステートメントは、スクリプトの実行中に指定されたファイルを含めて実行します。この動作は require() ステートメントに似ています。唯一の違いは、require_once() が最初にファイルが以前にインクルードされているかどうかを判断することです。インクルードされている場合、このインクルードは無視されます。

2 相違点の概要

1. include() ステートメントと require() ステートメントの相違点。

例 1

include('hello.php');
echo 'include test final!';//include报错,但是会继续执行,显示:include test final!
require('hello.php');
echo 'require test final!';//require报错,停止代码的执行。

概要:

⑴ include() は警告を生成し、スクリプトは引き続き実行されます。

⑵ require() は致命的なエラーを引き起こし、スクリプトの実行が停止します。

つまり、ファイルの欠落またはエラーが発生したときにページの処理を停止したい場合は、require() を使用します。エラーが発生したときにページの処理を続行したい場合は、include() を使用します。

PHP 4.3.5 より前では、インクルード ファイルの構文エラーによってプログラムが停止することはありませんでしたが、このバージョン以降は停止することに注意してください。

2. require() はとにかくファイルをインクルードしますが、include() は選択的に

例 2

<?php
 if(FALSE){
   require(&#39;x.php&#39;);
 }
 if(FALSE){
   include(&#39;s.php&#39;);
 }
?>

をインクルードできます。上記のコード: x.php は確実にインクルードされますが、s.php は確実にインクルードされません。

3. include_once()、require_once() と include()、require() の違い

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

注意が必要な 3 つの問題

1. パスの問題

特にネストされたインクルージョンしたがって、インクルードされるファイルのパスに必ず注意してください。たとえば、ファイル A にはファイル B が含まれ、ファイル B にはファイル C が含まれ、ファイル A、B、C は同じフォルダーに存在しない場合、この時点で間違いが発生しやすくなります。

解決策: dirname(__FILE__) ステートメントを使用できます。これは、現在のスクリプトの絶対パスを取得することを意味します。例: require_once(dirname(__FILE__).'/config.php');

2. 効率の問題

include_once()、require_once() , include() や require() と比較すると、少なくとも最初にファイルがインクルードされているかどうかを判断する必要があるため、効率が低くなります。この問題は PHP5 バージョンでは大幅に改善されましたが、効率にはまだ差があります。

読んでいただきありがとうございます。読んだ後に少しでも進歩があれば幸いです。

推奨チュートリアル: 「PHP チュートリアル

以上がPHPのインクルードファイルとリクワイアの違い(詳しい解説付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。