14

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

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

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

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

4

3 回答 3

22

尝试:

$this->get('session')->getFlashBag()->set('type', 'message');
于 2012-03-07T10:16:11.010 回答
13

此外,您可能想尝试该add()方法,它不会消除其他闪存消息:

$this->get('session')->getFlashBag()->add('type', 'message');
于 2012-10-05T00:30:11.967 回答
0

供参考:

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

FlashBagInterface 有一个简单的 API:

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

来源:Symfony2:会话管理

于 2014-11-17T09:51:56.417 回答