ホームページ > バックエンド開発 > PHPチュートリアル > php include与include_once、require与require_once

php include与include_once、require与require_once

WBOY
リリース: 2016-06-20 12:32:04
オリジナル
703 人が閲覧しました

* include() および include_once()
* require() および require_once()

1.include() 関数は、指定されたファイルを読み取り、プログラムを実行します。
例: include('/home/me/myfile');
インポートされたファイル内のプログラム コードが実行され、実行されると、これらのプログラムはソース ファイルを持って呼び出します。 () 関数は同じ変数スコープ内にあります。同じサーバーから静的ファイルをインポートしたり、 include() 関数と fopen() 関数を組み合わせて他のサーバーからファイルをインポートしたりすることもできます。

2. include_once() 関数の機能は include() とほぼ同じです
唯一の違いは、include_once() 関数が最初にファイルがインポートされたファイルは既に存在します。 プログラム内の他の場所がインポートされている場合、ファイルは再度インポートされません (この関数は場合によっては非常に重要です。たとえば、インポートされるファイルは自分で定義した関数を宣言しています。)このファイルを同じプログラムに繰り返しインポートすると、PHP では同じ名前の関数を 2 回宣言することができないため、2 回目のインポート中にエラー メッセージが表示されます。

3.require() 関数は、対象ファイルの内容を読み取り、読み取った内容で置き換えます。
この読み取りと置換アクションは、PHP エンジンがコンパイルされたプログラム コードの実行を開始するとき (PHP 3.0 エンジンの動作方法) ではなく、PHP エンジンがプログラム コードをコンパイルするときに発生します。一度に 1 行ずつコンパイルして実行されます。ただし、これは PHP 4.0 で変更されました。PHP 4.0 では、最初にプログラム コード全体がコンパイルされ、その後コンパイルされたプログラム コードが一度に実行されます。コンパイル プロセスでは何も実行されません。 require() は通常、静的コンテンツのインポートに使用されますが、include() は動的プログラム コードのインポートに適しています。

4. include_once() 関数 と同様に、require_once() 関数はまず、ターゲット ファイルの内容が以前にインポートされているかどうかを確認します。そうであれば、再度繰り返されません。 . 同じコンテンツをインポートします。
個人的には、require() 関数を使用して、著作権、静的テキスト、または変数自体を含まない、または正しく実行するために他の実行プログラムに依存する必要があるその他のプログラム コードをインポートするのが好きです

php の include と require の違いは何ですか?
通常は違いはありません。
ロードするファイルが存在しない場合、include は警告を表示して実行を続けます。致命的なエラーが発生し、スクリプトが直接終了します。

require() に含まれるファイルには制御構造を含めることはできず、return などのステートメントは使用できません。 require() に含まれるファイルで return ステートメントを使用すると、処理エラーが発生します。

include() ステートメントとは異なり、require() ステートメントは、これらのステートメントが実行されるかどうかに関係なく、含まれるファイルの内容を無条件に読み取ります。したがって、異なる条件に従って異なるファイルをインクルードする場合は、include() ステートメントを使用する必要があります。もちろん、require() の位置にあるステートメントが実行されない場合、require() に含まれるファイル内のステートメントも実行されません。


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