【发布时间】:2011-09-23 08:42:43
【问题描述】:
如何在控制器端设置和销毁会话?
在视图方面尝试过,效果很好。但现在需要从控制器内部获取它。
【问题讨论】:
如何在控制器端设置和销毁会话?
在视图方面尝试过,效果很好。但现在需要从控制器内部获取它。
【问题讨论】:
更新:
在 Symfony 2 中销毁一个会话,如下所示:
$request->getSession()->invalidate(1);
如果您不提供任何参数,则 invalidate 会使当前会话保持不变,您必须将生命周期设置为 1(一秒)
Symfony 3.4 文档: http://api.symfony.com/3.4/Symfony/Component/HttpFoundation/Session/Session.html#method_invalidate
【讨论】:
你试过了吗?
/** @var $session Session */
$session = $request->getSession();
$session->remove('name');
【讨论】:
你试过了吗
$this->getAttributeHolder()->remove('foo');
如果它保存在命名空间 foobar 中
$user->getAttributeHolder()->remove('foobar','','foo');
【讨论】:
最后我在这里找到了解决方案。使用这里解释的“会话”服务:Old post
【讨论】: