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 でいっぱい出てくるから割愛。