Naify\Psr\Message\Response クラス
PSR-7 レスポンス実装 — ResponseInterface
HTTP レスポンスを表現する不変オブジェクト。 すべての with*() メソッドは clone して新しいインスタンスを返す。
使用例
$response = new Response();
$response = $response->withStatus(404);
$response = $response->withHeader('Content-Type', 'text/html');
$response->getBody()->write('<h1>Not Found</h1>');
設計意図
readonly 化は各 with メソッドの PHP 8.5 clone with 対応と初期化経路の確認を前提とする。
PHP 8.3 の再初期化は __clone() 内だけであり、clone 後の代入には使えない。
プロパティ
| 名前 | 型 | 説明 |
|---|---|---|
private
$statusCode
|
int |
HTTP ステータスコード |
private
$reasonPhrase
|
string |
"OK" や "Not Found" などの理由フレーズ |
メソッド
| メソッド | 説明 |
|---|---|
public
__construct(int $status = 200, array $headers = '...', ?StreamInterface $body, string $version = 1.1, string $reason = ):
|
不変レスポンスオブジェクトを生成する |
public
getStatusCode(): int
|
現在の HTTP ステータスコードを返す |
public
withStatus(int $code, string $reasonPhrase = ): static
|
ステータスコードを変更したコピーを返す 8.5 → clone with |
public
getReasonPhrase(): string
|
現在の理由フレーズを返す |
継承プロパティ
| 名前 | 型 | 説明 | 継承元 |
|---|---|---|---|
private
$headers
|
array |
ヘッダー(オリジナルケース) | MessageTrait |
private
$headerNames
|
array |
小文字ヘッダー名 → オリジナルケースのマップ | MessageTrait |
private
$body
|
StreamInterface |
メッセージボディ | MessageTrait |
private
$protocolVersion
|
string |
HTTP プロトコルバージョン | MessageTrait |
継承メソッド
| メソッド | 説明 | 継承元 |
|---|---|---|
private
setHeaders(): void
|
ヘッダー配列を正規化して格納する(コンストラクタ用) | MessageTrait |
public
getProtocolVersion(): string
|
現在の HTTP プロトコルバージョンを返す | MessageTrait |
public
withProtocolVersion(): static
|
プロトコルバージョンを変更した新しいインスタンスを返す | MessageTrait |
public
getHeaders(): array
|
保持しているヘッダーをすべて返す | MessageTrait |
public
hasHeader(): bool
|
指定したヘッダーの存在を判定する | MessageTrait |
public
getHeader(): array
|
指定したヘッダーの値一覧を返す | MessageTrait |
public
getHeaderLine(): string
|
指定したヘッダーを 1 行文字列にして返す | MessageTrait |
public
withHeader(): static
|
ヘッダーを設定する(既存の同名ヘッダーを置換) | MessageTrait |
public
withAddedHeader(): static
|
ヘッダーを追加する(既存の同名ヘッダーに値を追加) | MessageTrait |
public
withoutHeader(): static
|
ヘッダーを削除する | MessageTrait |
public
getBody(): StreamInterface
|
メッセージボディのストリームを返す | MessageTrait |
public
withBody(): static
|
メッセージボディを変更した新しいインスタンスを返す | MessageTrait |