# Хелперы для создания ответов
Вспомогательные классы и трейты для создания ответов пакета 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()
.