# Хелперы для создания ответов

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

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

# Трейты для организации данных

Вспомогательные трейты созданы для удобства и предотвращения повторного использования кода.

  • HttpSoft\Basis\Response\ExtractErrorDataTrait — содержит приватные методы (extractErrorStatusCode(), extractExceptionData(), extractRequestData()), которые извлекают необходимые данные для формирования информации об ошибках.
  • HttpSoft\Basis\Response\PrepareJsonDataTrait — содержит один приватный метод (prepareJsonData()), который предварительно обрабатывает данные перед их отправкой в json_encode().