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; }