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

Параметр stateless атрибута Route

Параметр stateless атрибута Route принимает булево значение и указывает Symfony, что маршрут не должен использовать сессию. Если для такого маршрута будет предпринята попытка чтения или записи в сессию, Symfony выбросит исключение SessionNotFoundException. Это полезно для stateless API и повышает производительность, так как сессия не запускается.

Синтаксис

#[Route(path, name: name, stateless: true)]

Пример

Давайте создадим stateless-маршрут, который не обращается к сессии:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/api/article', name: 'article_index', stateless: true)] public function index(): Response { return new Response('article'); } } ?>

Результат выполнения кода для адреса /api/article:

article

Пример

Давайте попробуем обратиться к сессии внутри stateless-маршрута и получим исключение:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/api/user', name: 'article_user', stateless: true)] public function user(Request $request): Response { $request->getSession()->set('key', 'value'); return new Response('user'); } } ?>

Результат выполнения кода для адреса /api/user:

SymfonyComponentHttpFoundationExceptionSessionNotFoundException

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

  • атрибут Route,
    который вешает метод контроллера на URL
  • параметр methods,
    который ограничивает маршрут HTTP-методами
  • параметр condition,
    который задаёт условие срабатывания маршрута
  • параметр name,
    который задаёт имя маршрута
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить