Questo è molto semplice. ScrivoCome funziona lo spazio di archiviazione di Zend_Auth?
$auth->getStorage()->write($user);
E poi voglio, in un processo separato per caricare questo $ utente, ma non posso perché
$user = $auth->getIdentity();
è vuota. Non l'ho appena ... IMPOSTATO? Perché non funziona? Halp?
[EDIT 2011-04-13]
questo è stato chiesto quasi due anni fa. Il fatto è, tuttavia, che ho ripetuto la domanda nel luglio 2010 e ho ottenuto una risposta fantastica che, a quel tempo, semplicemente non capivo.
Link: Zend_Auth fails to write to storage
allora ho costruito una bella classe litte che uso (a volte con tweaking extra) in tutti i miei progetti utilizzando lo stesso motore di archiviazione come Zend_Auth ma eludere tutte le cattive.
<?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;
}
}
?>
L'altro problema potrebbe essere che la memoria (e Zend_Auth) non ha la stessa configurazione. Scrivere su un posto, leggere su un altro. – AsTeR