如何在不引发错误的情况下检测类是否不存在

12 浏览
0 Comments

如何在不引发错误的情况下检测类是否不存在

我遇到了一个有趣的困境。在一个DataMapper类中,我正在生成一个用于返回数据库中行的类名。

问题是,我的所有类都是自动加载的,并且可以来自多个地方(库,应用程序/模型等),我想检查生成的类名是否实际存在。现在,有人可能会认为:

try
{
    $test = new $className();
}
catch(Exception $ex)
{
    // 无法加载类
}

但是,当然,PHP错误(而不是抛出异常)说找不到该类...没有什么帮助。除了重写Zend_Loader中的自动加载程序以搜索所有目录以查看是否可以加载类之外,还有其他方法可以实现这一点吗?

对于那些想知道为什么我需要这样做而不是让“类未找到”错误显示出来的人,如果找不到类,我想在预定位置生成一个类,以便在项目进行时使我的生活更轻松。

提前感谢!

Amy

附言:如果你们需要更多信息,请告诉我。

0