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

Метод addFlash

Метод addFlash класса AbstractController добавляет в сессию flash-сообщение - короткое уведомление, которое показывается пользователю один раз и автоматически удаляется после отображения. Первым параметром передаётся тип сообщения (например, 'success' или 'error'), вторым - текст сообщения. Метод возвращает void.

Синтаксис

addFlash(string $type, mixed $message): void

Пример

Давайте добавим flash-сообщение об успешном действии:

<?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 { $this->addFlash('success', 'Article saved'); return $this->render('article/index.html.twig'); } } ?>

Теперь выведем сообщение в шаблоне Twig:

{% for message in app.flashes('success') %} <p>{{ message }}</p> {% endfor %}

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

<p>Article saved</p>

Пример

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

<?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 { $this->addFlash('success', 'Article saved'); $this->addFlash('error', 'Article not found'); return $this->render('article/index.html.twig'); } } ?>

Выведем оба типа сообщений в шаблоне Twig:

{% for message in app.flashes('success') %} <p>{{ message }}</p> {% endfor %} {% for message in app.flashes('error') %} <p>{{ message }}</p> {% endfor %}

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

<p>Article saved</p> <p>Article not found</p>

Пример

Давайте выведем все flash-сообщения через метод getFlashes:

{% for type, messages in app.flashes %} {% for message in messages %} <p>{{ type }}: {{ message }}</p> {% endfor %} {% endfor %}

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

<p>success: Article saved</p> <p>error: Article not found</p>

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

  • класс AbstractController,
    который является базовым для контроллеров
  • метод render,
    который рендерит Twig-шаблон
  • метод redirectToRoute,
    который выполняет редирект на маршрут
  • метод getParameter,
    который возвращает параметр из конфигурации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить