当前位置 : 主页 > 网络编程 > PHP >

php __autoload 异常 Fatal error: Uncaught Error: Class 解决办法

来源:互联网 收集:自由互联 发布时间:2021-06-30
php__autoload自动加载的情况下,引入第三方插件可能会出现Fatalerror:UncaughtError:Class的异常解决办法。 异常原因 __autoload因为是一个函数,所以只能被定义一次。因而在调用其他第三方库时
php __autoload 自动加载的情况下,引入第三方插件可能会出现Fatal error: Uncaught Error: Class的异常解决办法。


异常原因

__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');
网友评论