【问题标题】:Set Flash in Symfony 2.1在 Symfony 2.1 中设置 Flash
【发布时间】:2012-03-24 20:18:02
【问题描述】:

我一直在调整我们的代码,准备将我们的代码移至新的 2.1 Symfony 代码库。

在 2.0.* 中,我们可以通过简单地调用控制器中的会话服务来设置 Flash 消息

$this->get('session')->setFlash('type', 'message');

我已经浏览了新文档,我只是想知道是否有一种干净的方法,类似于上面的;而不仅仅是调用 FlashBagInterface?

【问题讨论】:

  • 啊,宾果游戏! $this->get('session')->getFlashBag()->set('type', 'message');

标签: symfony symfony-2.1


【解决方案1】:

试试:

$this->get('session')->getFlashBag()->set('type', 'message');

【讨论】:

    【解决方案2】:

    另外,您可能想尝试使用add() 方法,它不会消除其他 Flash 消息:

    $this->get('session')->getFlashBag()->add('type', 'message');
    

    【讨论】:

      【解决方案3】:

      仅供参考:

      Symfony HttpFoundation 组件有一个非常强大和灵活的会话子系统,旨在通过使用各种会话存储驱动程序的简单的面向对象接口提供会话管理。

      FlashBagInterface 有一个简单的 API:

      • set():按键设置属性;
      • get():按键获取属性;
      • all():获取所有属性作为key => value的数组;
      • has():如果属性存在则返回true;
      • replace():一次设置多个属性:获取一个键控数组并设置每个键 => 值对;
      • remove():按键删除一个属性;
      • clear():清除所有属性。

      来源:Symfony2: Session Management

      【讨论】:

        猜你喜欢
        • 2012-12-25
        • 1970-01-01
        • 1970-01-01
        • 2012-07-18
        • 2012-11-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多