# PHP пакет для управления HTTP-ответами

Пакет HttpSoft\Response реализует Psr\Http\Message\ResponseInterface в соответствии со спецификациями RFC 7230 и RFC 7231.

Зависит от пакета HttpSoft\Message.

Для этого пакета требуется PHP версии 7.4 или более поздней.

Установка пакета:

composer require httpsoft/http-response

Исходный код на GitHub.

# API

Реализации Psr\Http\Message\ResponseInterface и HttpSoft\Response\ResponseStatusCodeInterface:

# Использование

// Создать экземпляр `Psr\Http\Message\ResponseInterface` из HTML-кода: 
$response = new HttpSoft\Response\HtmlResponse('<p>HTML</p>');
$response->getHeaderLine('content-type'); // 'text/html; charset=UTF-8'

// Создать экземпляр `Psr\Http\Message\ResponseInterface` из данных для конвертации в JSON: 
$response = new HttpSoft\Response\JsonResponse(['key' => 'value']);
$response->getHeaderLine('content-type'); // 'application/json; charset=UTF-8'

// Создать экземпляр `Psr\Http\Message\ResponseInterface` из текста: 
$response = new HttpSoft\Response\TextResponse('Text');
$response->getHeaderLine('content-type'); // 'text/plain; charset=UTF-8'

// Создать экземпляр `Psr\Http\Message\ResponseInterface` из XML-кода: 
$response = new HttpSoft\Response\XmlResponse('<xmltag>XML</xmltag>');
$response->getHeaderLine('content-type'); // 'application/xml; charset=UTF-8'

// Создать экземпляр `Psr\Http\Message\ResponseInterface` для редиректа:
$response = new HttpSoft\Response\RedirectResponse('https/example.com');
$response->getHeaderLine('location'); // 'https/example.com'

// Создать экземпляр `Psr\Http\Message\ResponseInterface` для пустого ответа: 
$response = new HttpSoft\Response\EmptyResponse();
$response->getStatusCode(); // 204
$response->getReasonPhrase(); // 'No Content'

Использование стандартного ответа: HttpSoft\Message\Response.