Метод 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,
который проверяет, является ли запрос основным