从文件夹中动态包含从MyBaseClass继承的所有类


Dynamically include all classes inheriting from MyBaseClass from a folder

我需要一些帮助。

我有一个包含类的文件夹:/my/folder

我有一个包含相应类的类文件/my/otherfolder/MyBaseClass.php。

我想动态地(从某种意义上说,我不硬编码/my/folder中的任何类名)加载/my/文件夹中的所有类,对于从MyBaseClass继承的类,我想调用基方法myBase()。

我正在寻找最干净、最简单的方法。性能不是问题。

我很久以前写的代码中的一个非常古老的例子。。。requireonce之所以有效,是因为所有涉及的类都在同一个目录中,该目录是手动添加到路径中的。

function __autoload($class_name)
{
    require_once("{$class_name}.php");
}

然而,显然这个功能已经被取代了:

http://www.php.net/manual/en/function.spl-autoload-register.php