# Класс HttpSoft\Response\HtmlResponse
Класс, реализующий Psr\Http\Message\ResponseInterface и HttpSoft\Response\ResponseStatusCodeInterface.
Реализация Psr\Http\Message\ResponseInterface
для удобного создания экземпляра из HTML-кода.
use HttpSoft\Response\HtmlResponse;
$response = new HtmlResponse('<p>HTML</p>');
$response->getStatusCode(); // 200
$response->getReasonPhrase(); // 'OK'
$response->getBody()->getContents(); // '<p>HTML</p>'
$response->getBody()->getMetadata('uri') // 'php://temp'
$response->getHeaders(); // ['Content-Type' => ['text/html; charset=UTF-8']]
$response->getProtocolVersion(); // '1.1'
$response = new HtmlResponse('<p>HTML</p>', 404, ['Content-Type' => 'text/plain; charset=UTF-8'], '2');
$response->getStatusCode(); // 404
$response->getReasonPhrase(); // 'Not Found'
$response->getBody()->getContents(); // '<p>HTML</p>'
$response->getBody()->getMetadata('uri') // 'php://temp'
$response->getHeaders(); // ['Content-Type' => ['text/plain; charset=UTF-8']]
$response->getProtocolVersion(); // '2'
$newResponse = $response->withHeader('Content-Language', 'ru');
$newResponse->getHeaderLine('content-language'); // 'ru'
$response->getHeaders(); // ['Content-Type' => ['text/plain; charset=UTF-8'], 'Content-Language' => ['ru']]
$newResponse = $response->withStatus(HtmlResponse::STATUS_INTERNAL_SERVER_ERROR);
$newResponse->getStatusCode(); // 500
$newResponse->getReasonPhrase(); // 'Internal Server Error'
$newResponse = $response->withStatus(599, 'Custom Phrase');
$newResponse->getStatusCode(); // 599
$newResponse->getReasonPhrase(); // 'Custom Phrase'
# Публичные методы
Оригинальное подробное описание методов смотрите в Psr\Http\Message\ResponseInterface.
/**
* @param string $html
* @param int $code
* @param array $headers
* @param string $protocol
* @param string $reasonPhrase
*/
public function __construct(
string $html,
int $code = self::STATUS_OK,
array $headers = [],
string $protocol = '1.1',
string $reasonPhrase = ''
);
Если заголовок Content-Type
не указан, то по умолчанию ему будет присвоено значение 'text/html; charset=UTF-8'
.
Все остальные методы с описанием находятся в подключаемых трейтах: