php の require に失敗して画面が真っ白になるのを避けたい。
php はよくよく画面が真っ白になる。
失敗したら失敗したでエラー画面が出て欲しいわけです。
require のパスが条件によって変わったり(ファクトリパターンとかでは良くある)すると時々ミスする。
フリーのライブラリとか使ってると、命名規則が違ってて __autoload() も微妙に使えない。
<?php class My_Loader { public static function load( $file, $once=true ) { if($once){ $rtn = include_once $file; } else { $rtn = include $file; } if( !$rtn ){ throw new My_Loader_Exception("cannot read '$file'"); } } }
こんなもんで十分。
My_Loader::load('hogehgoe'); で失敗したら例外が飛ぶ。
他の画面が真っ白パターンとして fatal error の補足があるが Google でいっぱい出てくるから割愛。