Это очень просто. Я пишуКак работает память Zend_Auth?
$auth->getStorage()->write($user);
И тогда я хочу, в отдельном процессе, чтобы загрузить это $ пользователю, но я не могу, потому что
$user = $auth->getIdentity();
пуст. Разве я не просто ... УСТАНАВЛИВАЕТ? Почему это не работает? Halp?
[EDIT 2011-04-13]
Это было предложено почти два года назад. Факт, однако, в том, что я повторил этот вопрос в июле 2010 года и получил фантастический ответ, который я тогда просто не понимал.
Ссылка: Zend_Auth fails to write to storage
С тех пор я построил очень хороший класс Litte, который я использую (иногда с дополнительной тонкой настройки) во всех моих проектах, используя тот же механизм хранения как 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;
}
}
?>
Другая проблема может заключаться в том, что хранилище (и Zend_Auth) не имеет такой же конфигурации. Написание на одном месте, чтение на другом. – AsTeR