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

Метод getStatusCode

Метод getStatusCode принадлежит классу Response и возвращает целое число - HTTP-код состояния текущего ответа. Параметров метод не принимает. По умолчанию любой новый объект Response имеет код 200, что означает успешное выполнение запроса. Если ответ был создан с другим кодом, например 404 или 500, метод вернёт именно это значение.

Синтаксис

$code = $response->getStatusCode();

Пример

Давайте создадим ответ с кодом по умолчанию и получим его статус:

<?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 { $response = new Response('hello'); $code = $response->getStatusCode(); return new Response((string) $code); } } ?>

Результат выполнения кода:

200

Пример

Давайте создадим ответ с кодом 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('/not-found', name: 'article_not_found')] public function notFound(): Response { $response = new Response('page not found', Response::HTTP_NOT_FOUND); $code = $response->getStatusCode(); return new Response((string) $code); } } ?>

Результат выполнения кода:

404

Пример

Давайте изменим код ответа через setStatusCode и затем прочитаем его через getStatusCode:

<?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('/server-error', name: 'article_server_error')] public function serverError(): Response { $response = new Response('hello'); $response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR); $code = $response->getStatusCode(); return new Response((string) $code); } } ?>

Результат выполнения кода:

500

Пример

Давайте используем getStatusCode вместе с методами проверки, чтобы вывести текстовое описание статуса:

<?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('/status', name: 'article_status')] public function status(): Response { $response = new Response('abcde', Response::HTTP_OK); $code = $response->getStatusCode(); if ($response->isSuccessful()) { $text = 'success: ' . $code; } else { $text = 'error: ' . $code; } return new Response($text); } } ?>

Результат выполнения кода:

"success: 200"

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

  • класс Response,
    который представляет HTTP-ответ
  • метод setStatusCode,
    который задаёт HTTP-код ответа
  • метод isSuccessful,
    который проверяет успешность ответа
  • метод isNotFound,
    который проверяет код 404
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить