PHP中的会话中不完整的类

时间:2014-06-22 05:31:27

标签: php arrays class session constructor

我遇到的问题是,当我得到一个存储在会话中的类时,结果是一个不完整的类。

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_rsetLoggedUser(),我会有所不同。 $_SESSION包含已完成的对象!! 任何人都可以帮我解释一下吗?!

我使用的是IIS 7而不是Apache。

0 个答案:

没有答案