在Symfony 2.1中设置Flash

14

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

在2.0.*中,我们可以通过在控制器中调用会话服务来设置Flash消息,使用以下代码:

$this->get('session')->setFlash('type', 'message');
我已经仔细查阅了新的文档,我想知道是否有一种类似于上面提到的干净的方式,而不仅仅是调用FlashBagInterface?

啊哈,太棒了!$this->get('session')->getFlashBag()->set('type', 'message'); - michaelotoole
3个回答

22

尝试:

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

13

此外,您可能希望尝试使用 add() 方法,它不会覆盖其他闪存消息:

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

0

知道了:

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

FlashBagInterface 具有简单的 API:

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

来源:Symfony2: Session Management


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接