function __autoload($class) {
$classfile = $class.'.class.php';
$path = './includes/classes/system/';
if (is_file($path.$classfile)) require_once($path.$classfile);
if (is_file($path.'baseclasses/'.$classfile)) require_once($path.'baseclasses/'.$classfile);
if (is_file($path.'systementities/'.$classfile)) require_once($path.'systementities/'.$classfile);
}
...これはまだ最善の方法ではありませんが、glob() を使用して回避できます。通常、すべてのシステム エンティティをロードする場合は、boot/config スクリプトにハードコーディングされた require() リストが必要です。クラスファイルを整理して取得する方法には多くのオプションがあります。スクリプトを検索する時間を短縮するには、ファイルツリーをインターフェイスと考えることができます。簡単にするために、必須ではないすべてのクラスを同じフォルダーに配置して、 is_file() 呼び出しを 1 つに減らすことができます。
私のシステムでは、それぞれの制御スクリプトとビューを含むフォルダーにグループ化されたオブジェクト クラスがあります。私の __autoload() 関数には、より単純な仕事があります -
$classfile = $path.$class.'/'.$class.'_class.php';
if (is_file($classfile)) require_once($classfile);