Метод isNotFound
Метод isNotFound класса Response возвращает
true, если статус-код ответа равен 404, и
false в противном случае. Статус-код 404 означает,
что запрошенный ресурс не найден на сервере. Метод не
принимает параметров и удобен для проверки ответа перед
его дальнейшей обработкой.
Синтаксис
$res->isNotFound(): bool
Пример
Давайте создадим ответ со статус-кодом 404 и проверим его
через метод isNotFound:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$res = new Response('hello', 404);
var_dump($res->isNotFound());
return $res;
}
}
?>
Результат выполнения кода:
true
Пример
Давайте создадим успешный ответ со статус-кодом 200 и
проверим его через метод isNotFound:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/user', name: 'article_user')]
public function user(): Response
{
$res = new Response('abcde', 200);
var_dump($res->isNotFound());
return $res;
}
}
?>
Результат выполнения кода:
false
Пример
Давайте проверим ответ, возвращаемый методом контроллера, на предмет ошибки 404 внутри другого метода:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$res = $this->getResponse();
if ($res->isNotFound()) {
echo 'page not found';
} else {
echo 'page found';
}
return $res;
}
private function getResponse(): Response
{
return new Response('hello', 404);
}
}
?>
Результат выполнения кода:
"page not found"
Смотрите также
-
класс
Response,
который представляет HTTP-ответ -
метод
isOk,
который проверяет статус-код 200 -
метод
isForbidden,
который проверяет статус-код 403 -
метод
getStatusCode,
который возвращает статус-код ответа