Zend сессия перезапускается при каждой загрузке страницы - PullRequest
0 голосов
/ 29 марта 2012

У меня было много проблем, пытаясь заставить сеансы Zend работать должным образом. По сути, мне нужно установить переменную один раз при загрузке сайта. Эта переменная должна оставаться постоянной в течение всего времени сеанса.

Чтобы сделать это немного более понятным, давайте рассмотрим следующий сценарий:

В Bootstap.php у меня есть

protected function _initSession() {
    $session = new Zend_Session_Namespace();
    $session->testValue = rand(0, 100);
}

Затем я обращаюсь к нему в другом месте приложения следующим образом:

$session = new Zend_Session_Namespace();
echo $session->testValue;

Теперь я надеюсь, что $ session-> testValue будет назначен один раз, и это значение будет одинаковым при каждом последующем запросе страницы. Но на самом деле происходит следующее: $ session-> testValue - это новое случайное число каждый раз.

Что я делаю не так?

1 Ответ

2 голосов
/ 29 марта 2012

Каждый раз, когда Bootstrap.php запускается, он перезаписывает свойство testValue.Установите его, только если он еще не установлен.

protected function _initSession() {
    $session = new Zend_Session_Namespace();
    if (!isset($session->testValue)) {
        $session->testValue = rand(0, 100);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...