« sed sed sed | メイン | 配列の違い »
2007年08月06日
requireとincludeの違いについて
« PHP:str_replace()関数 | メイン | PHP:global »
2005年10月17日
PHP:require()関数・require_once()関数
require()関数:外部ファイルを取り込む
require_once()関数:外部ファイルを1回だけ取り込む
※機能はほぼ一緒なので、require_once()関数を優先的に使いましょう。
require()関数とrequire_once()関数外の違いは、require()関数は外部ファイルを取り込む回数に制限がないのに対して、require_once()関数は外部ファイルを1回だけ取り込みます。
たとえば、a.phpにb.phpをrequire()関数で取り込んだ場合、b.phpにa.phpのrequire()・include()命令が記述されていた場合、無限ループになります。これを防ぐためにも、何らかの特別な事情がない限りはrequire_once()関数を優先的に使いましょう。
※requireとincludeの違いについて
基本的に「外部ファイルを取り込む」という機能は同じですが、取り込みに失敗した時のエラー出力方法が違います。
require:エラー時にFatal Errorを出力し、プログラム処理を終了
include:エラー時にWarning(エラーメッセージ)を出力するが、処理は続行
エラーが起きても処理を続行したいプログラムの場合にはinclude、処理を中断したい場合にはrequireを使用しましょう。
投稿者 muuming : 2007年08月06日 18:22