我使用以下代码在Symfony2中为会话写了一个值:
$session = new Session();
$session->start();
$session->set('passport', '1');
在同一页面上,我使用以下代码测试该值是否已存储在会话中,并取得了圆满成功:
$request = $session->get('passport');
print_r($request);
但是,创建会话的控制器会将用户重定向到另一个控制器。在这个控制器中,我有以下代码:
public function indexAction()
{
$request = $session->get('passport');
if (isset($request)) {
do something
} else {
return $this->redirect("denied.html");
}
}
但没有任何反应。屏幕变白,没有任何错误。我用这段代码替换了$request
变量:
$request = '1';
代码工作正常。只是当我试图获得会话时它不起作用。
答案 0 :(得分:0)
我找到了这个答案here,我尝试了第二个问题。
第二个问题补充了这段代码:
$session = $this->getRequest()->getSession();
我已添加此内容,现在代码正常运行。