Метод setProtocolVersion
Метод setProtocolVersion класса Response
задаёт версию HTTP-протокола для ответа.
Первым параметром передаётся строка с версией,
например '1.1' или '2.0'.
По умолчанию Symfony использует версию
текущего запроса, а если запрос отсутствует -
'1.0'. Метод возвращает сам объект ответа,
что позволяет выстраивать цепочку вызовов.
Синтаксис
setProtocolVersion(string $version): static
Пример
Давайте создадим ответ и явно укажем версию протокола '1.1':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/', name: 'article_index')]
public function index(): Response
{
$res = new Response('hello');
$res->setProtocolVersion('1.1');
return $res;
}
}
?>
Результат выполнения кода:
hello
Пример
Давайте проверим установленную версию через метод
getProtocolVersion:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/version', name: 'article_version')]
public function version(): Response
{
$res = new Response('abcde');
$res->setProtocolVersion('2.0');
return new Response($res->getProtocolVersion());
}
}
?>
Результат выполнения кода:
"2.0"
Пример
Метод возвращает сам объект ответа, поэтому вызовы можно объединять в цепочку:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/chain', name: 'article_chain')]
public function chain(): Response
{
return (new Response('hello'))
->setProtocolVersion('1.1')
->setStatusCode(200);
}
}
?>
Результат выполнения кода:
hello
Смотрите также
-
класс
Response,
который представляет HTTP-ответ -
метод
setStatusCode,
который задаёт код состояния ответа -
метод
setCharset,
который задаёт кодировку ответа -
метод
prepare,
который подготавливает ответ к отправке