symfony symfony-2.1

Establecer Flash en Symfony 2.1



symfony-2.1 (3)

Tratar:

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

He estado adaptando nuestro código como preparación para mover nuestro código a la nueva base de código Symfony 2.1.

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

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

Revisé la nueva documentación, solo me preguntaba si había una manera limpia, similar a la anterior; en lugar de simplemente llamar a FlashBagInterface?


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

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


FYI:

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

FlashBagInterface tiene una API simple:

  • set (): establece un atributo por 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 par clave => valor;
  • remove (): elimina un atributo por clave;
  • clear (): borra todos los atributos.

Fuente: Symfony2: Gestión de sesiones