2012-03-07 2 views
14

Я адаптировал наш код для подготовки нашего кода к новой кодовой базе Symfony 2.1.Установить Flash в Symfony 2.1

В 2.0. * Мы могли бы установить Flash-сообщения, просто позвонив в службу сеанса в нашем контроллере, используя следующие

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

Я тралил через новую документацию, мне было просто интересно, если там был чистый путь , аналогично приведенному выше; а не просто вызвать FlashBagInterface?

+0

Ааа, лото! $ this-> get ('session') -> getFlashBag() -> set ('type', 'message'); – michaelotoole

ответ

21

Try:

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

Отлично, спасибо вам много. –

13

Кроме того, вы можете попробовать метод add() вместо этого, который не уничтожить другие флеш сообщения:

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

FYI:

Symfony HttpFoundation компонент имеет очень мощную и гибкую подсистему сеанса, которая предназначена для обеспечения управления сеансом через простой объектно-ориентированный интерфейс с использованием различных ssion.

FlashBagInterface имеет простой API:

  • набор(): Устанавливает атрибут по ключу;
  • get(): получает атрибут по ключу;
  • all(): Получает все атрибуты как массив ключей => значение;
  • имеет(): возвращает true, если атрибут существует;
  • replace(): Устанавливает сразу несколько атрибутов: берет массив с ключом и устанавливает каждую пару ключей => значение;
  • remove(): удаляет атрибут по ключу;
  • clear(): Очистить все атрибуты.

Источник: Symfony2: Session Management

Смежные вопросы