Это очень просто. я пишу
$auth->getStorage()->write($user);
И затем я хочу в отдельном процессе загрузить этого пользователя $, но я не могу, потому что
$user = $auth->getIdentity();
пусто. Разве я не просто ... УСТАНОВИЛ? Почему не работает? Холп?
[ИЗМЕНИТЬ 2011-04-13]
Об этом спрашивали почти два года назад. Однако факт в том, что я повторил этот вопрос в июле 2010 года и получил фантастический ответ, которого я тогда просто не понял.
Ссылка: Zend_Auth не выполняет запись в хранилище
С тех пор я создал очень хороший маленький класс, который я использую (иногда с дополнительной настройкой) во всех своих проектах, используя тот же механизм хранения, что и Zend_Auth, но избегая всего плохого.
<?php
class Qapacity_Helpers_Storage {
public function save($name = 'default', $data) {
$session = new Zend_Session_Namespace($name);
$session->data = $data;
return true;
}
public function load($name = 'default', $part = null) {
$session = new Zend_Session_Namespace($name);
if (!isset($session->data))
return null;
$data = $session->data;
if ($part && isset($data[$part]))
return $data[$part];
return $data;
}
public function clear($name = 'default') {
$session = new Zend_Session_Namespace($name);
if (isset($session->data))
unset($session->data);
return true;
}
}
?>