作者:山海 | 来源:互联网 | 2023-10-09 19:23
我是OOP的新手,正在写我的第一堂课.我为保险经纪人工作,我正在尝试使用类来存储有关报价的内容,并将对象存储为会话变量.事情是,当我查看会话变量时,我得到:sessionName_
我是OOP的新手,正在写我的第一堂课.我为保险经纪人工作,我正在尝试使用类来存储有关报价的内容,并将对象存储为会话变量.
事情是,当我查看会话变量时,我得到:
sessionName
__PHP_Incomplete_Class Object
(
[__PHP_Incomplete_Class_Name] => myClass
[brokerId] =>
谁能告诉我为什么它显示不完整的类名?
解决方法:
确保在调用session_start()之前存在类定义,例如
require_once 'class.MyClass.php';
session_start();
或者设置一个unserialize_callback_func,它将尝试加载类定义,如http://docs.php.net/function.unserialize所述.
编辑:这也可以通过spl_autoload_register()完成.
spl_autoload_register(function($name) {
// only a demo ...this might be insecure ;-)
require_once 'class.'.$name.'.php';
});
session_start();
echo '';
var_dump($_SESSION);
echo '';