如何在symfony 2.6中销毁会话?

时间:2015-04-23 13:17:59

标签: symfony session

我试过这样做:

$session->remove();

还有:

$session->clear();

但它会出现以下错误:

  

在非对象上调用成员函数clear()

1 个答案:

答案 0 :(得分:2)

  

无效()

     

清除所有会话数据并重新生成会话ID。不要使用session_destroy()。

这实际上就是你想要的。

来源&更多信息: http://symfony.com/doc/current/components/http_foundation/sessions.html

此外,只需查看来源即可轻松查看。

对于这种情况,您应该检查SessionSessionInterface来源:

http://api.symfony.com/2.6/Symfony/Component/HttpFoundation/Session/SessionInterface.html

http://api.symfony.com/2.6/Symfony/Component/HttpFoundation/Session/Session.html

编辑。

当然这个方法属于Session类,因此您必须先在控制器中访问Session对象。

所以我们去:

http://symfony.com/doc/current/book/controller.html#managing-the-session

我们看到了如何做到这一点:

public function indexAction(Request $request)
{
    $session = $request->getSession();

    $session->invalidate(); //here we can now clear the session.
}