php__autoload自动加载的情况下,引入第三方插件可能会出现Fatalerror:UncaughtError:Class的异常解决办法。 异常原因 __autoload因为是一个函数,所以只能被定义一次。因而在调用其他第三方库时
异常原因
__autoload 因为是一个函数,所以只能被定义一次。因而在调用其他第三方库时,由于第三方库也会调用自动加载,这样可能会被覆盖掉原有的__autoload事件。
解决办法
用spl_autoload_register来取代__autoload(),注册多个自动加载事件。
spl_autoload_register会根据定义的先后顺序进行自动加载。
更多 Fatal error: Uncaught Error: Class 的错误解决办法:http://www.libs.org.cn/
示例说明
1. [代码]原程序
function __autoload($filename){ $file="libs/class.".$filename.".php"; if(is_file($file)) { include $file; return; } }
2. [代码]更改后
class libs{ public static function autoload($filename){ $file="libs/class.".$filename.".php"; if(is_file($file)) { include $file; return; } } } spl_autoload_register('libs::autoload');