# Хелперы для создания ответов
Вспомогательные классы и трейты для создания ответов пакета HttpSoft\Basis.
# HttpSoft\Basis\Response\CustomResponseFactory
Настраиваемая фабрика для создания HttpSoft\Message\Response, реализует Psr\Http\Message\ResponseFactoryInterface.
/**
* @param array|null $headers
* @param Psr\Http\Message\StreamInterface|string|resource $body
* @param string $protocol
*/
public function __construct(
array $headers = null,
$body = 'php://temp',
string $protocol = '1.1'
); Если $headers не указан или имеет значение null, то будет использоваться ['Content-Type' => 'text/html; charset=UTF-8']. Если нужно создать ответ без заголовков, передайте пустой массив.
Для создания HttpSoft\Message\Response используется только один метод, определенный в интерфейсе Psr\Http\Message\ResponseFactoryInterface.
public function createResponse(
int $statusCode = 200,
string $reasonPhrase = ''
): ResponseInterface; # Трейты для организации данных
Вспомогательные трейты созданы для удобства и предотвращения повторного использования кода.
- HttpSoft\Basis\Response\ExtractErrorDataTrait — содержит приватные методы (
extractErrorStatusCode(),extractExceptionData(),extractRequestData()), которые извлекают необходимые данные для формирования информации об ошибках. - HttpSoft\Basis\Response\PrepareJsonDataTrait — содержит один приватный метод (
prepareJsonData()), который предварительно обрабатывает данные перед их отправкой вjson_encode().
