require_once() 文は、スクリプトの実行中に指定された ファイルを読み込み、評価します。この振る舞いは require() 文と似ていて、唯一の違いは既にコードが読み込まれている場合には再度読み込まれる ことがないことです。この文がどのように動作するかについては require() を参照してください。
require_once() は、スクリプトの実行時に同じファイ ルが複数回読み込まれ、評価される可能性がある場合に、関数の再定義や 変数値の再代入といった問題を回避するために一回だけ読み込ませるため に使用します。
require_once() および include_once() の使用例に関する他の例については、 最新のPHPソースコード配布ファイルに含まれる PEAR のコードを参照ください。
戻り値は、 include() と同じです。 ファイルが既にインクルードされている場合、この関数は TRUE を返します。
注意: require_once() はPHP 4.0.1で追加されました。
注意: (Windowsのように)大文字小文字を区別しないオペレーティングシステムでは、 require_once() および include_once() の動作が意図したものにならない 可能性があるので注意してください。
この動作は、PHP 5で変更されました。パスはまず正規化されます。 このため、 C:\PROGRA~1\A.php は C:\Program Files\a.php と同じと認識され、 ファイルは一回だけ読み込まれます。
例 16-11. require_once() はWindowsでは大文字小文字を区別しません
require_once("a.php"); // a.phpを読み込みます
require_once("A.php"); // Windowsはこれもa.phpを読み込みます! (PHP 4のみ)
| 警告 |
|
PHP 4.3.0 より前のバージョンの Windows 版 PHP は、現在この関数に関してリモートファイルアクセス機能を サポートしていません。これは、 allow_url_fopen を 有効にした場合でも同様です。 |
require() , include() , include_once() , get_required_files() , get_included_files() , readfile() , virtual() も参照してください。