# Трейт HttpSoft\Message\ResponseTrait
Трейт, реализующий методы, определенные в Psr\Http\Message\ResponseInterface.
# Публичные методы
Оригинальное подробное описание методов смотрите в Psr\Http\Message\ResponseInterface.
Все остальные методы с описанием находятся в подключаемом трейте (HttpSoft\Message\MessageTrait).
Сеттеры с префиксом
with
не изменяют текущий, а возвращают новый экземпляр класса (использующегоHttpSoft\Message\ResponseTrait
) с измененными данными.
# getStatusCode
Возвращает код состояния ответа.
public function getStatusCode(): int;
Пример возвращаемых значений: 200
, 301
, 404
, 500
.
# getReasonPhrase
Возвращает фразу причины ответа, связанную с кодом состояния.
public function getReasonPhrase(): string;
Пример возвращаемых значений: 'OK'
, 'Moved Permanently'
, 'Not Found'
, 'Internal Server Error'
.
# withStatus
Возвращает новый экземпляр с указанным кодом состояния и, при необходимости, поясняющей фразой.
/**
* @param int $code
* @param string $reasonPhrase
* @return static
*/
public function withStatus($code, $reasonPhrase = ''): ResponseInterface;
Если поясняющая фраза не указана, то будет использоваться фраза, которая соответствует коду состояния по умолчанию.
Если указаны невалидные код состояния или поясняющая фраза, будет брошено исключение \InvalidArgumentException
.
$response->getStatusCode(); // 200
$response->getReasonPhrase(); // 'OK'
$newResponse = $response->withStatus(404);
$newResponse->getStatusCode(); // 404
$newResponse->getReasonPhrase(); // 'Not Found'
$newResponse = $response->withStatus(404, 'Custom Phrase');
$newResponse->getStatusCode(); // 404
$newResponse->getReasonPhrase(); // 'Custom Phrase'
$response->withStatus(99); // throws InvalidArgumentException
$response->withStatus(600); // throws InvalidArgumentException
$response->withStatus('Not int'); // throws InvalidArgumentException
$response->withStatus(200, ['Not string']); // throws InvalidArgumentException
Подробнее о кодах состояния и поясняющих фразах смотрите здесь и здесь.