2010年12月21日火曜日

phpのrequireとincludeの違い

ファイルを読み込むこの2つのメソッド。どちらも同じような動きをします。

自分はrequire派です。なんとなくincludeよりrequireのほうが上等というか、レベルが高い印象があったので、requireを使ってました。

今回とあるサンプルコードを読んでいたらincludeが使われており、気になって調べてみましたが、答えはphpマニュアルに書いてありました。

require() は include() とほぼ同じですが、失敗した場合に E_COMPILE_ERROR レベルの致命的なエラーも発生するという点が異なります。 つまり、スクリプトの処理がそこで止まってしまうということです。一方 include() の場合は、警告 (E_WARNING) を発するもののスクリプトの処理は続行します。


http://phpspot.net/php/man/php/function.require.html

とのことです。なるほど。

ちなみにrequire_once、include_onceというのもあって、こちらだとすでにそのファイルが読み込まれている場合はスキップしてくれます。

便利です。が、_onceありは_onceなしに比べて処理が重くなるという話をどこかで読んだことがあります。(当然と言えば当然ですが)

特に理由がないようならrequireを使っておくのが無難なようです。

0 件のコメント:

コメントを投稿