如何检测如果一个类没有不触发错误存在

我遇到了一个有趣的两难困境。 在一个DataMapper的类,我生成一个类名称,以用于从数据库返回的行。

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

try { $test = new $className(); } catch(Exception $ex) { // Class could not be loaded }

但当然,PHP错误(而不是抛出一个异常)说类找不到......不是非常有帮助。 短改写那么Zend_Loader自动加载搜索所有目录,看看是否可以把类加载的,反正是有做到这一点?

大家很奇怪,为什么我需要做到这一点,而不是仅仅让找不到类错误显示出来,如果​​类没有找到,我想产生一个预先确定的位置的一类,使我的生活更轻松,因为这项目随之而来。

提前致谢! 特里

PS让我知道,如果你们需要任何更多的信息。

--------------解决方案-------------

PHP函数class_exists()有一个标志来触发自动加载如果该类不应该没有加载:

http://www.php.net/class_exists

所以,你只要写

if (!class_exists($className)) {
// generate the class here
}

分类:php 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.461 (s). 10 q(s)