Php 在会话中保存对象的问题

Php 在会话中保存对象的问题,php,Php,在我的项目中,我在核心文件中有一行: $LoggedIn = isset($_SESSION['User']) ? unserialize($_SESSION['User']) : false; 核心: 并且在登录方式下,它有相应的: $_SESSION['User'] = serialize($User); 用户回购: 用户: 当我尝试访问$LoggedIn对象时,会出现如下错误: Fatal error: Uncaught Error: Cannot use object of type

在我的项目中,我在核心文件中有一行:

$LoggedIn = isset($_SESSION['User']) ? unserialize($_SESSION['User']) : false;
核心:

并且在登录方式下,它有相应的:

$_SESSION['User'] = serialize($User);
用户回购:

用户:

当我尝试访问$LoggedIn对象时,会出现如下错误:

Fatal error: Uncaught Error: Cannot use object of type __PHP_Incomplete_Class as array in C:\xampp\htdocs\jalawebs\dev\webcofounder\web\controller\index\index.php:14 Stack trace: #0 C:\xampp\htdocs\jalawebs\dev\webcofounder\config\core.php(111): require() #1 C:\xampp\htdocs\jalawebs\dev\webcofounder\index.php(9): require('C:\\xampp\\htdocs...') #2 {main} thrown in C:\xampp\htdocs\jalawebs\dev\webcofounder\web\controller\index\index.php on line 14

当您调用未在脚本本身中定义的未序列化对象的属性时,就会发生这种情况

创建一个类,如so
newuser()
将调用autloader来加载脚本,而
unserialize()
则不会

您可以执行以下操作:

$o = unserialize($yourstring);
if(is_object($o) && class_exists(get_class($o))){ // invoke the autoloader
  echo $o->LoggedIn;
}

或者直接使用
include_once()
require_once()

将脚本包含在页面上的另一个文件中是不够的?