To bardzo proste. PiszęJak działa pamięć masowa Zend_Auth?
$auth->getStorage()->write($user);
A potem chcę, w oddzielnym procesie ładowania to $ user, ale nie mogę, bo
$user = $auth->getIdentity();
jest pusty. Czy ja nie ... ZROBIŁEM? Dlaczego to nie działa? Halp?
[EDIT 2011-04-13]
ten został poproszony prawie dwa lata temu. Faktem jest jednak, że powtórzyłem to pytanie w lipcu 2010 roku i otrzymałem fantastyczną odpowiedź, której wtedy nie zrozumiałem.
Link: Zend_Auth fails to write to storage
Mam ponieważ zbudowany bardzo ładny klasę litte że używam (czasami z dodatkową szczypanie) we wszystkich moich projektach przy użyciu tego samego silnika do przechowywania, jak Zend_Auth ale obejście wszystkich źle.
<?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;
}
}
?>
Innym problemem może być to, że pamięć (i Zend_Auth) nie ma tej samej konfiguracji. Pisanie w jednym miejscu, czytanie na innym. – AsTeR