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

Метод getRequest класса RequestEvent

Метод getRequest класса RequestEvent возвращает объект Request, который представляет текущий HTTP-запрос. Метод не принимает параметров и используется в слушателях событий ядра, например в событии kernel.request. Через полученный объект можно читать параметры запроса, заголовки, метод и другие данные, а также изменять их до обработки контроллером.

Синтаксис

public function getRequest(): Request

Пример

Давайте создадим слушателя события kernel.request и получим объект запроса:

<?php namespace AppEventListener; use SymfonyComponentHttpKernelEventRequestEvent; class RequestListener { public function onKernelRequest(RequestEvent $event): void { $request = $event->getRequest(); echo $request->getPathInfo(); } } ?>

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

"/user/abcde"

Пример

Давайте зарегистрируем слушателя в конфигурации сервисов:

services: AppEventListenerRequestListener: tags: - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }

Теперь при каждом запросе слушатель получит объект Request и выведет путь текущего запроса.

Пример

Давайте прочитаем GET-параметр name из запроса:

<?php namespace AppEventListener; use SymfonyComponentHttpKernelEventRequestEvent; class RequestListener { public function onKernelRequest(RequestEvent $event): void { $request = $event->getRequest(); $name = $request->query->get('name', 'guest'); echo $name; } } ?>

Результат выполнения кода для адреса /?name=abcde:

"abcde"

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

  • класс RequestEvent,
    который представляет событие ядра с объектом запроса
  • метод getResponse,
    который возвращает объект ответа из события
  • метод setResponse,
    который устанавливает объект ответа в событие
  • метод isMainRequest,
    который проверяет, является ли запрос основным
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить