这很简单。我写的
$auth->getStorage()->write($user);
然后我想在一个单独的进程中加载这个 $user,但我不能因为
$user = $auth->getIdentity();
是空的。我不是刚刚...设置它吗?为什么它不起作用?哈普?
[编辑 2011-04-13]
大约两年前就有人问过这个问题。但事实是,我在 2010 年 7 月重复了这个问题,得到了一个我当时根本无法理解的绝妙答案。
从那以后,我构建了一个非常好的 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;
}
}
?>