我正在运行一个应用程序,在控制器中我试图使用Zend_Session和Zend_Session_Namespace设置会话变量:
bootstrap.php中
protected function _initSession()
{
Zend_Session::start();
}
SomeController.php
protected function updateQuestionViewsTotal($question)
{
$userSession = new Zend_Session_Namespace('QA_Session');
if (! is_array($userSession->questionViews)) {
$userSession->questionViews = array();
}
// create session array to contain the questions this
// user has viewed.
if(array_search($question->id, $userSession->questionViews) === false) {
$question->views_total++;
$question->save();
}
// ensure that this page is in the array
array_push($userSession->questionViews, $question->id);
$userSession->questionViews = array_unique($userSession->questionViews);
}
从上面可以看出,我在我的一个控制器中有一个尝试通过Zend_Session_Namespace使用会话变量的方法。
但是,当我在第二页加载(刷新)时插入var_dump:
protected function updateQuestionViewsTotal($question)
{
$userSession = new Zend_Session_Namespace('QA_Session');
var_dump($userSession));
if (! is_array($userSession->questionViews)) {
$userSession->questionViews = array();
}
..请注意:这是我运行一次之后,所以我期待已经设置了会话变量。无论如何,它在任何情况下都是NULL。所以似乎变量没有被写入$ _SESSION?我做错了什么?