Метод isSuccessful
Метод isSuccessful принадлежит классу Response
и возвращает true, если код состояния ответа
находится в диапазоне от 200 до 299. Такие коды означают,
что запрос был успешно обработан сервером. Метод не принимает
параметров и возвращает логическое значение.
Синтаксис
public function isSuccessful(): bool
Пример
Давайте создадим ответ с кодом 200 и проверим его через
метод isSuccessful:
<?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', Response::HTTP_OK);
$res = $response->isSuccessful();
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
true
Пример
Давайте создадим ответ с кодом 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
{
$response = new Response('not found', Response::HTTP_NOT_FOUND);
$res = $response->isSuccessful();
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
false
Пример
Давайте переберём несколько ответов с разными кодами и выведем результат проверки для каждого из них:
<?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
{
$codes = [
Response::HTTP_OK,
Response::HTTP_CREATED,
Response::HTTP_MOVED_PERMANENTLY,
Response::HTTP_NOT_FOUND,
Response::HTTP_INTERNAL_SERVER_ERROR,
];
$res = [];
foreach ($codes as $code) {
$response = new Response('', $code);
$res[$code] = $response->isSuccessful();
}
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
[200 => true, 201 => true, 301 => false, 404 => false, 500 => false]
Смотрите также
-
класс
Response,
который представляет HTTP-ответ -
метод
getStatusCode,
который возвращает код состояния ответа -
метод
isRedirection,
который проверяет код перенаправления -
метод
isNotFound,
который проверяет код 404