Метод setResponse
Метод setResponse класса RequestEvent устанавливает объект Response в событии ядра Symfony. Первым параметром передаётся объект ответа. После установки ответа дальнейшая обработка запроса может быть прервана, а установленный ответ будет возвращён клиенту.
Синтаксис
public function setResponse(Response $response): void
Пример
Давайте создадим слушателя события kernel.request, который устанавливает ответ и прерывает дальнейшую обработку:
<?php
namespace AppEventListener;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentHttpKernelEventRequestEvent;
class RequestListener
{
public function onKernelRequest(RequestEvent $event): void
{
$response = new Response('hello');
$event->setResponse($response);
}
}
?>
Результат выполнения кода:
hello
Пример
Давайте проверим, был ли установлен ответ с помощью метода hasResponse, и выведем результат:
<?php
namespace AppEventListener;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentHttpKernelEventRequestEvent;
class RequestListener
{
public function onKernelRequest(RequestEvent $event): void
{
$response = new Response('abcde');
$event->setResponse($response);
if ($event->hasResponse()) {
echo 'response is set';
}
}
}
?>
Результат выполнения кода:
"response is set"
Смотрите также
-
класс
RequestEvent,
который представляет событие запроса ядра -
метод
getResponse,
который возвращает установленный ответ -
метод
hasResponse,
который проверяет наличие установленного ответа -
событие
RequestEvent,
которое возникает при обработке запроса