# Trait HttpSoft\Message\ResponseTrait
Trait implementing the methods defined in Psr\Http\Message\ResponseInterface.
# Public methods
See the original detailed description of the methods in the Psr\Http\Message\ResponseInterface.
All other methods with descriptions are in the used trait (HttpSoft\Message\MessageTrait).
Setters prefixed with
with
they are immutable and return a new instance of the class (usingHttpSoft\Message\ResponseTrait
) with the changed data.
# getStatusCode
Returns the response status code.
public function getStatusCode(): int;
Example of returned values: 200
, 301
, 404
, 500
.
# getReasonPhrase
Returns the response reason phrase associated with the status code.
public function getReasonPhrase(): string;
Example of returned values: 'OK'
, 'Moved Permanently'
, 'Not Found'
, 'Internal Server Error'
.
# withStatus
Returns a new instance with the specified status code and, optionally, reason phrase.
/**
* @param int $code
* @param string $reasonPhrase
* @return static
*/
public function withStatus($code, $reasonPhrase = ''): ResponseInterface;
If the reason phrase is not specified, the phrase that corresponds to the default status code will be used.
If invalid specified status code or reason phrase, the \InvalidArgumentException
exception will be thrown.
$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
For more information about status code and reason phrase, see here and here.