spl_autoload_register错误,而不是__autoload错误

时间:2012-08-19 19:32:50

标签: php session spl-autoload-register

我有点困惑。

到目前为止我在PHP中使用__autoload,我也在使用会话。这两件事情很好,当我在会话中存储一些对象时,__ autoload函数已经加载了相应的类而没有问题。

不,我正在“更新”我的主脚本,并希望将__autoload函数更改为spl_autoload_register函数,因为php手册说,__ autoload将来可能会被弃用。

但现在,我有一些问题。 spl_autoload_register适用于我在脚本中以“正常”方式使用的所有类,但是当我在会话中存储对象时,spl_autoload_register无法加载这些类。

当我用json_encode($ _ SESSION)查看会话时,有类似的内容:


    {"user":{"__PHP_Incomplete_Class_Name":"User","id":"1000","username":"foobar","email":"foo@bar.com"}}

__autoload没问题......


    {"user":{"id":"1000","username":"foobar","email":"foo@bar.com"}}

我的职能:


    __autoload($class) {
        include 'classes/' . $class . '.php';
    }

我尝试将其替换为:


    spl_autoload_register(function($class) {
        include 'classes/' . $class . '.php';
    }

我使用的是PHP版本5.3.3-7

有人可以重现此错误吗?这可能是目前为止PHPs spl_autoload_register中的一个错误吗? __autoload到目前为止使用的是“更好”的功能,而spl_autoload_register到目前为止还无法使用会话吗?

0 个答案:

没有答案