2012-03-07 72 views
14

为了将我们的代码移动到新的2.1 Symfony代码库,我一直在调整我们的代码。在Symfony 2.1中设置Flash

在2.0。*,我们可以简单地使用调用我们的控制器会话服务集显信息如下

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

我已经通过新的文档拖网,我如果有一个干净的方式只是想知道,与上面类似;而不是仅仅调用FlashBagInterface?

+0

啊,宾果! ('session') - > getFlashBag() - > set('type','message'); – michaelotoole 2012-03-07 10:15:06

回答

21

尝试:

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

完美,谢谢sooo。 – 2013-06-04 15:11:02

13

此外,您可能想尝试add()方法来代替,这将抹杀不了其他的提示信息:

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

FYI:

symfony的HttpFoundation组件具有非常强大而灵活的会话子系统,该子系统被设计为通过使用各种se的简单面向对象的接口来提供会话管理ssion存储驱动程序。

FlashBagInterface具有简单的API:

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

来源:Symfony2: Session Management