【问题标题】:How to set and destroy sessions in PHP Symfony如何在 PHP Symfony 中设置和销毁会话
【发布时间】:2011-09-23 08:42:43
【问题描述】:

如何在控制器端设置和销毁会话?
在视图方面尝试过,效果很好。但现在需要从控制器内部获取它。

【问题讨论】:

    标签: php session symfony1


    【解决方案1】:

    更新:

    在 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

    【讨论】:

      【解决方案2】:

      你试过了吗?

      /** @var $session Session */
      $session = $request->getSession();
      $session->remove('name');
      

      【讨论】:

        【解决方案3】:

        你试过了吗

        $this->getAttributeHolder()->remove('foo');
        

        如果它保存在命名空间 foobar 中

        $user->getAttributeHolder()->remove('foobar','','foo');

        【讨论】:

        • 显然这并没有解决问题,那么创建会话呢?
        【解决方案4】:

        最后我在这里找到了解决方案。使用这里解释的“会话”服务:Old post

        【讨论】:

          猜你喜欢
          • 2013-10-18
          • 1970-01-01
          • 1970-01-01
          • 2012-05-25
          • 2011-11-06
          • 1970-01-01
          • 2013-04-17
          • 2015-05-02
          • 2017-09-11
          相关资源
          最近更新 更多