2012-03-07 12 views
14

He estado adaptando nuestro código para preparar el cambio de código a la nueva base de código Symfony 2.1.Configurar Flash en Symfony 2.1

En 2.0. * Podríamos fijar mensajes flash, simplemente llamando al servicio de sesión en nuestro controlador utilizando la siguiente

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

He rastreado a través de la nueva documentación, Me preguntaba si había una manera limpia , similar a lo anterior; en lugar de simplemente llamar a FlashBagInterface?

+0

Ahh, bingo! $ this-> get ('session') -> getFlashBag() -> set ('type', 'message'); – michaelotoole

Respuesta

21

Probar:

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

Perfecto, muchas gracias. –

13

Además, es posible que desee probar el método add() lugar, que no destruir otros mensajes flash:

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

FYI:

El Symfony HttpFoundation componente tiene un subsistema de sesión muy potente y flexible que está diseñado para proporcionar gestión de sesión a través de una interfaz orientada a objetos simple utilizando una variedad de se controladores de almacenamiento ssion.

FlashBagInterface tiene una API sencilla:

  • set(): Establece un atributo de clave;
  • get(): Obtiene un atributo por clave;
  • all(): Obtiene todos los atributos como una matriz de clave => valor;
  • has(): Devuelve verdadero si el atributo existe;
  • replace(): establece múltiples atributos a la vez: toma una matriz con clave y establece cada clave => par de valores;
  • remove(): elimina un atributo por clave;
  • borrar(): borra todos los atributos.

Fuente: Symfony2: Session Management

Cuestiones relacionadas