2016-07-11 22 views
-2

私はrequire()、include()、include_once()ステートメントの必要性をPHPで理解していません。なぜrequire()、include()、include_once()がPHPに必要ですか?

PHPでrequire_once()が必要なことは強く感じます。

C/C++では、#include()だけがあります。 Javaでは、import()だけがあります。

PHPでは、インクルード( 'xyz.php')だけで警告メッセージが表示されますが、残りのスクリプトが動作する場合、これは最初のinclude( 'xyx.php')文が必要ないことを意味します。

私はあなたがスクリプトに何かを含めるとき、それは一度だけ含まれるべきだと思いました。 同じファイルが誤って複数回含まれていると、実行時に何らかの「重複」エラーメッセージが表示されるはずです。このようなエラーメッセージが表示されない場合は、言語に重大な欠陥があります。

require_once()自体で十分な場合にrequire()、include()、include_once()がPHPに存在する必要がある理由を誰かが教えてもらえますか?

おかげ

+1

C、C++およびJavaは、コンパイル時にobject/or-other-unitファイル内のすべての(指定された)ソースをコンパイルします。 PHPはコンパイルされた言語ではないので、ロードする必要のあるファイルを手助けする必要があります。 – zerkms

+0

require_once()を使用してPHPスクリプトを完成させることはできますか? require_once()の代わりにrequire()、include()またはInclude_once()が必要なサンプルを提供してください。それがこの問題のポイントです。 –

答えて

4

読み取りphp.netや抜粋は以下のとおりです。

を必要とする:http://php.net/manual/en/function.require.php

はまた、致命的なE_COMPILE_ERRORレベルのエラーを発生する故障時以外含むと同じである必要があります。つまり、スクリプトは停止しますが、includeはスクリプトを続行できる警告(E_WARNING)のみを出力します。

のinclude_oncehttp://php.net/manual/en/function.include-once.php

のinclude_once文は、スクリプトの実行時に指定したファイルを評価します。これは、includeステートメントに似た動作です。ただし、ファイルのコードがすでにインクルードされている場合は、インクルードステートメントは再びインクルードされず、include_onceはTRUEを返します。名前が示すように、ファイルは1回だけ含まれます。

のinclude_onceは、同じファイルが 含まれており、この場合には、それはそのような機能 再定義などの問題を回避するために有用なので、 の特定の実行中にスクリプトを複数回評価される可能性がある場合、変数の値の再割り当てに使用することができます

+0

私はこれを読んで、それは私の質問を説明しません。 require_once()の使い方でPHPスクリプトを完成させることはできますか? require_once()の代わりにrequire()、include()またはInclude_once()が必要なサンプルを提供してください。それがこの問題のポイントです。 –

+0

上記のPHPマニュアルの抜粋は、自明です。 「完全」とはどういう意味ですか? – Sathish

+0

PHPでは、require_once()文だけがあります。include()、include_once()、require()が存在しないと仮定します。あなたのPHPアプリケーションはrequire_once()だけで動作しますか? –

関連する問題