РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
280 of 1361 menu

Метод all класса FlashBag

Метод all класса FlashBag возвращает все flash-сообщения, которые были добавлены в сессию. После вызова метода сообщения удаляются из flash-пакета, то есть при следующем запросе они уже не будут доступны. Метод не принимает параметров и возвращает ассоциативный массив, где ключами являются типы сообщений (например, 'success', 'error'), а значениями - массивы строк с самими сообщениями.

Синтаксис

public function all(): array

Пример

Давайте добавим несколько flash-сообщений и получим их через метод all:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentHttpFoundationRequest; class ArticleController extends AbstractController { public function index(Request $request): Response { $session = $request->getSession(); $flashBag = $session->getFlashBag(); $flashBag->add('success', 'article created'); $flashBag->add('success', 'article published'); $flashBag->add('error', 'article not found'); $res = $flashBag->all(); return new Response(json_encode($res)); } } ?>

Результат выполнения кода:

{"success":["article created","article published"],"error":["article not found"]}

Пример

Давайте проверим, что после вызова метода all flash-сообщения очищаются:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentHttpFoundationRequest; class ArticleController extends AbstractController { public function index(Request $request): Response { $session = $request->getSession(); $flashBag = $session->getFlashBag(); $flashBag->add('success', 'hello'); $first = $flashBag->all(); $second = $flashBag->all(); return new Response(json_encode([$first, $second])); } } ?>

Результат выполнения кода:

[{"success":["hello"]},[]]

Смотрите также

  • класс FlashBag,
    который хранит flash-сообщения сессии
  • метод add,
    который добавляет flash-сообщение
  • метод get,
    который возвращает и удаляет сообщения по типу
  • метод peekAll,
    который возвращает все сообщения без очистки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить