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()。如果您通常加载所有系统实体,则在引导/配置脚本中应该有一个硬编码的 require() 列表。关于如何组织和获取类文件有很多选择。为了减少搜索脚本的时间,您可以将文件树视为一个接口。为简单起见,您可以将所有非强制性类放在同一个文件夹中,将 is_file() 调用减少到一个。
在我的系统中,我将对象类与它们各自的控制脚本和视图分组在文件夹中。我的 __autoload() 函数有一个更简单的工作——
$classfile = $path.$class.'/'.$class.'_class.php';
if (is_file($classfile)) require_once($classfile);