Начальная загрузка и доступ к переменным сеанса в Zend Framework - PullRequest
2 голосов
/ 02 марта 2011

Проблемы с доступом к переменным сеанса через различные действия в ZF.

Вот содержимое загрузчика:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{

    protected function _initSession()
    {
            Zend_Session::start();
            $sessionUser = new Zend_Session_Namespace('sessionUser');
    }

}

Я назначаю переменную для $ sessionUser в IndexController:

                    $sessionUser->userId = $res->userId;
                    $sessionUser->organisationId = $res->organisation_organisationId;
                    $sessionUser->forename = $res->forename;

И попытка доступа к переменной в контроллере администратора:

$sessionUser->organisationId

Все же я получаю сообщение об ошибке:

Notice: Undefined variable: sessionUser in /usr/local/zend/apache2/htdocs/SA1/application/controllers/AdministratorController.php on line 17 Notice: Trying to get property of non-object in /usr/local/zend/apache2/htdocs/SA1/application/controllers/AdministratorController.php on line 17

А идеи, что может быть причиной этого?

Большое спасибо

Ответы [ 2 ]

4 голосов
/ 02 марта 2011

Ну, ошибка, которую вы получаете, очевидна. $ SessionUser не определен.

Вы должны инициализировать такую ​​переменную, прежде чем присваивать ей значения. Поместите это в свой контроллер:

 $sessionUser = new Zend_Session_Namespace('sessionUser');
4 голосов
/ 02 марта 2011

Чтобы вернуть переменную сеанса в ваш контроллер, вам также нужно сделать:

$sessionUser = new Zend_Session_Namespace('sessionUser');
...