我遇到的问题是,当我得到一个存储在会话中的类时,结果是一个不完整的类。
class Users {
function __construct(){
FunctionsHelper::includeFiles(
array(
ADMINISTRATOR_MODEL_DIRECTORY . 'model.php',
ADMINISTRATOR_MODEL_DIRECTORY . 'user.php'
)
);
}
public function setLoggedUser($user){
if (session_id() == "")
session_start();
$_SESSION['ATT_user'] = $user;
}
public function getLoggedUser(){
if (session_id() == "")
session_start();
if (!isset($_SESSION['ATT_user'])) {
return new User();
}
$loggedUser = $_SESSION['ATT_user'];
$UserId = $logedUser->getUserId();
if (empty($UserId)) {
return new User();
}
return $loggedUser;
}
}
问题在于我调用方法getLoggedUser()
。 $_SESSION['ATT_user']
存储必须恢复的User
对象。
问题是在__construct
函数中我包含了加载User
类的文件,所以我不明白为什么会出现错误。 FunctionsHelper::includeFiles
函数包含文件,但如果我将include函数称为getLoggedUser
函数中的第一行,$_SESSION
数组仍将具有不完整的对象。
如果我在print_r
内setLoggedUser()
,我会有所不同。 $_SESSION
包含已完成的对象!!
任何人都可以帮我解释一下吗?!
我使用的是IIS 7而不是Apache。