« 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を使用しましょう。
■require使用例
・外部ファイルcommon.php
<?php
/* 曜日算出 */
function getYoubi($date){
$sday = strtotime($date);
$res = date("w", $sday);
$day = array("日", "月", "火", "水", "木", "金", "土");
return $day[$res];
}
?>
・プログラム本体main.php
<?php
require_once("common.php");
$nowWeek = getYoubi(20051017);
print $nowWeek;
?>
※上記main.phpを実行した結果、「月」が出力されます。
投稿者 wing : 2005年10月17日 18:28