2012-03-07 14 views
14

Zaadaptowałem nasz kod w ramach przygotowań do przeniesienia naszego kodu do nowej bazy kodu Symfony 2.1.Ustaw Flash w Symfony 2.1

W wersji 2.0. * Możemy ustawić wiadomości Flash po prostu wywołanie usługi sesji w naszym kontrolerem przy użyciu następujących

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

Mam trawled dzięki nowej dokumentacji, właśnie zastanawiałem się, czy to był czysty sposób podobny do powyższego; zamiast po prostu wywoływać FlashBagInterface?

+0

Ahh, bingo! $ this-> get ('session') -> getFlashBag() -> set ("typ", "wiadomość"); – michaelotoole

Odpowiedz

21

Spróbuj:

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

Doskonale, dziękuję bardzo. –

13

Również warto spróbować metody add() zamiast, który nie będzie zniszczyć inne komunikaty lampy błyskowej:

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

FYI:

symfony HttpFoundation komponent ma bardzo potężny i elastyczny podsystem sesji, który został zaprojektowany w celu zapewnienia zarządzania sesją za pomocą prostego interfejsu obiektowego z wykorzystaniem różnych se sterowniki pamięci ssion.

FlashBagInterface ma prostego API:

  • set(): Ustawia atrybut przez klucz;
  • get(): Pobiera atrybut według klucza;
  • wszystko(): Pobiera wszystkie atrybuty jako tablicę klucza => wartość;
  • has(): Zwraca wartość true, jeśli atrybut istnieje;
  • replace(): Ustawia wiele atrybutów na raz: pobiera tablicę z kluczami i ustawia każdy klucz => para wartości;
  • remove(): Usuwa atrybut według klucza;
  • wyczyść(): Wyczyść wszystkie atrybuty.

Źródło: Symfony2: Session Management

Powiązane problemy