Điều này rất đơn giản. Tôi viếtBộ nhớ Zend_Auth hoạt động như thế nào?
$auth->getStorage()->write($user);
Và sau đó tôi muốn, trong một quá trình riêng biệt để nạp $ thành viên này, nhưng tôi không thể vì
$user = $auth->getIdentity();
trống. Không phải tôi chỉ ... ĐẶT nó? Tại sao nó không hoạt động? Halp?
[EDIT 2011-04-13]
Điều này đã được hỏi gần hai năm trước. Thực tế là, mặc dù, mà tôi lặp lại câu hỏi trong tháng 7 năm 2010 và có một câu trả lời tuyệt vời mà tôi trở lại sau đó chỉ đơn giản là không hiểu.
Link: Zend_Auth fails to write to storage
Tôi đã kể từ khi xây dựng một lớp litte rất đẹp mà tôi sử dụng (đôi khi với tinh chỉnh thêm) trong tất cả các dự án của tôi bằng cách sử dụng công cụ lưu trữ giống như Zend_Auth nhưng phá vỡ tất cả các xấu.
<?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;
}
}
?>
Vấn đề khác có thể là bộ nhớ (và Zend_Auth) không có cùng cấu hình. Viết ở một nơi, đọc trên một địa điểm khác. – AsTeR