これは非常に簡単です。私は書きます
$auth->getStorage()->write($user);
そして、別のプロセスでこの $user をロードしたいのですが、できません。
$user = $auth->getIdentity();
空です。私はちょうど...それを設定しませんでしたか?うまくいかないのはなぜですか?ハーフ?
[2011 年 4 月 13 日編集]
これはほぼ2年前に尋ねられました。しかし、2010 年 7 月にこの質問を繰り返したところ、当時の私にはまったく理解できなかった素晴らしい回答が得られました。
リンク: 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;
}
}
?>