2012-03-07 95 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