PHP中使用class_exists判断类是否存在

  在一次开发过程中,使用PHP给定的class_exists方法判断给定的字符串类型是否存在, 使用的时候代码如下:

if(class_exists($className)) {
      //do something;           
}

这种情况下,如果系统中存在和$className指定的类名,则会正常执行;

如果系统中不存在和$className指定的类型,则会报PHP异常, 原因如下:

class_exists方法默认在使用的时候会自动加载给定的类, 然而在类名不存在的情况去加载该类文件,导致抛出PHP异常!

本次项目开发是在YII框架结构下进行开发的, 所以可能是因为YII框架对_autoLoad方法进行某种特殊处理导致类名不存在的

时候会抛出异常!

解决方法:

if(class_exists($className, false)) {
      //do something;           
}

 

 

 

 

posted @ 2013-05-02 16:48  黑夜的白雪  阅读(3300)  评论(0编辑  收藏  举报