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

Метод isServerError

Метод isServerError класса Response возвращает true, если статус-код ответа находится в диапазоне 500–599, и false в противном случае. Серверные ошибки означают, что запрос не был выполнен по вине сервера: например, внутренняя ошибка (500), плохой шлюз (502) или сервис недоступен (503). Метод не принимает параметров и не изменяет сам объект ответа.

Синтаксис

public function isServerError(): bool

Пример

Давайте создадим ответ со статусом 500 и проверим его через isServerError:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ResponseController extends AbstractController { #[Route('/response/server-error', name: 'response_server_error')] public function serverError(): Response { $res = new Response('Server error', 500); var_dump($res->isServerError()); return $res; } } ?>

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

bool(true) Server error

Пример

Давайте проверим ответ со статусом 404 - это клиентская ошибка, поэтому isServerError вернёт false:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ResponseController extends AbstractController { #[Route('/response/not-found', name: 'response_not_found')] public function notFound(): Response { $res = new Response('Page not found', 404); var_dump($res->isServerError()); return $res; } } ?>

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

bool(false) Page not found

Пример

Давайте переберём несколько статус-кодов и посмотрим, какие из них считаются серверными ошибками:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ResponseController extends AbstractController { #[Route('/response/check-codes', name: 'response_check_codes')] public function checkCodes(): Response { $codes = [200, 301, 400, 404, 500, 503]; $res = []; foreach ($codes as $code) { $response = new Response('', $code); $res[$code] = $response->isServerError(); } var_dump($res); return new Response('Checked'); } } ?>

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

[200 => false, 301 => false, 400 => false, 404 => false, 500 => true, 503 => true]

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

  • метод isClientError,
    который проверяет клиентские ошибки (4xx)
  • метод isSuccessful,
    который проверяет успешные ответы (2xx)
  • метод getStatusCode,
    который возвращает статус-код ответа
  • класс Response,
    который представляет HTTP-ответ
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить