Метод getStatusCode
Метод getStatusCode класса ClientResponse
возвращает целое число - HTTP-код ответа,
который вернул сервер. Объект ClientResponse
создаётся после выполнения запроса через
HttpClient. Метод не принимает параметров
и возвращает int.
Синтаксис
public function getStatusCode(): int
Пример
Давайте выполним запрос и выведем код ответа:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentHttpClientHttpClient;
class ArticleController extends AbstractController
{
public function index(): Response
{
$client = HttpClient::create();
$res = $client->request('GET', 'https://example.com/');
return new Response($res->getStatusCode());
}
}
?>
Результат выполнения кода:
200
Пример
Давайте проверим, что запрос завершился успешно:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentHttpClientHttpClient;
class ArticleController extends AbstractController
{
public function index(): Response
{
$client = HttpClient::create();
$res = $client->request('GET', 'https://example.com/');
if ($res->getStatusCode() === 200) {
return new Response('page found');
}
return new Response('page not found');
}
}
?>
Результат выполнения кода:
"page found"
Пример
Давайте обработаем разные коды ответа:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentHttpClientHttpClient;
class ArticleController extends AbstractController
{
public function index(): Response
{
$client = HttpClient::create();
$res = $client->request('GET', 'https://example.com/');
$code = $res->getStatusCode();
if ($code === 200) {
return new Response('ok');
} elseif ($code === 404) {
return new Response('not found');
} elseif ($code >= 500) {
return new Response('server error');
}
return new Response('code: ' . $code);
}
}
?>
Результат выполнения кода:
"ok"
Смотрите также
-
класс
ClientResponse,
который представляет ответ сервера -
метод
getContent,
который возвращает тело ответа -
метод
getHeaders,
который возвращает заголовки ответа -
метод
request,
который выполняет HTTP-запрос