# Класс HttpSoft\Response\RedirectResponse

Класс, реализующий Psr\Http\Message\ResponseInterface и HttpSoft\Response\ResponseStatusCodeInterface.

Реализация Psr\Http\Message\ResponseInterface для удобного создания экземпляра с перенаправлением.

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

use HttpSoft\Response\RedirectResponse;

// 302 редирект:

$response = new RedirectResponse('https://example.com/path/to/action');
// эквивалентно:
$response = new RedirectResponse('https://example.com/path/to/action', RedirectResponse::STATUS_FOUND);

$response->getStatusCode(); // 302
$response->getReasonPhrase(); // 'Found'
$response->getBody()->getContents(); // ''
$response->getBody()->getMetadata('uri') // 'php://temp'
$response->getHeaders(); // ['Location' => ['https://example.com/path/to/action']]
$response->getProtocolVersion(); // '1.1'

// 301 редирект:

$response = new RedirectResponse('/path/to/action', 301, [], '2');
// эквивалентно:
$response = new RedirectResponse('/path/to/action', RedirectResponse::STATUS_MOVED_PERMANENTLY, [], '2');

$response->getStatusCode(); // 301
$response->getReasonPhrase(); // 'Moved Permanently'
$response->getBody()->getContents(); // ''
$response->getBody()->getMetadata('uri') // 'php://temp'
$response->getHeaders(); // ['Location' => ['/path/to/action']]
$response->getProtocolVersion(); // '2'

# Публичные методы

Оригинальное подробное описание методов смотрите в Psr\Http\Message\ResponseInterface.

/**
 * @param string $uri
 * @param int $code
 * @param array $headers
 * @param string $protocol
 * @param string $reasonPhrase
 */
public function __construct(
    string $uri,
    int $code = self::STATUS_FOUND,
    array $headers = [],
    string $protocol = '1.1',
    string $reasonPhrase = ''
);

Все остальные методы с описанием находятся в подключаемых трейтах: