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

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

Метод peekAll класса FlashBag возвращает массив всех флеш-сообщений, которые currently находятся в сессии. В отличие от метода all, который извлекает сообщения и очищает хранилище, peekAll только читает данные. Параметров метод не принимает. Это удобно, когда нужно показать сообщения, но оставить их для следующего запроса.

Синтаксис

public function peekAll(): array

Пример

Давайте добавим несколько флеш-сообщений и прочитаем их с помощью метода peekAll:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $flashBag = $this->get('session')->getFlashBag(); $flashBag->add('success', 'article 1'); $flashBag->add('notice', 'article 2'); $flashBag->add('success', 'article 3'); $res = $flashBag->peekAll(); return new Response(json_encode($res)); } } ?>

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

{"success":["article 1","article 3"],"notice":["article 2"]}

Пример

Давайте убедимся, что после вызова peekAll сообщения остаются в сессии. Для этого вызовем метод повторно:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $flashBag = $this->get('session')->getFlashBag(); $flashBag->add('success', 'hello'); $first = $flashBag->peekAll(); $second = $flashBag->peekAll(); return new Response(json_encode([ 'first' => $first, 'second' => $second, ])); } } ?>

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

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

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

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