Метод setStatusCode
Метод setStatusCode класса Response
устанавливает HTTP статус-код для ответа.
Первым параметром передаётся числовой код статуса.
Вторым необязательным параметром можно передать
текстовое сообщение статуса.
Синтаксис
public function setStatusCode(int $code, ?string $text = null): static
Пример
Давайте создадим ответ со статус-кодом 404:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$res = new Response();
$res->setStatusCode(Response::HTTP_NOT_FOUND);
$res->setContent('page not found');
return $res;
}
}
?>
Результат выполнения кода:
"page not found"
Пример
Давайте установим статус-код 201 для успешного создания ресурса:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/article/create', name: 'article_create')]
public function create(): Response
{
$res = new Response();
$res->setStatusCode(Response::HTTP_CREATED);
$res->setContent('article created');
return $res;
}
}
?>
Результат выполнения кода:
"article created"
Пример
Давайте передадим вторым параметром текстовое сообщение статуса:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/article/error', name: 'article_error')]
public function error(): Response
{
$res = new Response();
$res->setStatusCode(500, 'Internal Server Error');
$res->setContent('something went wrong');
return $res;
}
}
?>
Результат выполнения кода:
"something went wrong"
Смотрите также
-
класс
Response,
который представляет HTTP-ответ -
метод
getStatusCode,
который возвращает статус-код ответа -
метод
setContent,
который устанавливает содержимое ответа -
метод
isNotFound,
который проверяет статус-код на 404