Naify\Psr\Message\Stream クラス
PSR-7 ストリーム実装 — StreamInterface
php://temp をデフォルトリソースとし、レスポンスボディの読み書きを担う。 PSR-7 の不変性契約により、withBody() 等で新しいストリームを差し替え可能。
使用例
$stream = new Stream();
$stream->write('Hello, World!');
echo $stream; // "Hello, World!"
echo $stream->getSize(); // 13
// 既存リソースをラップ
$stream = new Stream(fopen('php://input', 'r'));
プロパティ
| 名前 | 型 | 説明 |
|---|---|---|
private
$resource
|
mixed |
実体の PHP ストリーム。detach/close 後は null になる |
メソッド
| メソッド | 説明 |
|---|---|
public
__construct(mixed $resource):
|
php://temp または既存 resource をラップして生成する |
public
static
create(string $content = ): static
|
文字列からストリームを生成するファクトリメソッド |
public
close(): void
|
ストリームを閉じて内部 resource を解放する |
public
detach(): resource|null
|
リソースをデタッチして返す |
public
getSize(): ?int
|
ストリームサイズを返す |
public
tell(): int
|
現在のポインタ位置を返す |
public
eof(): bool
|
読み取り位置が EOF に達しているか返す |
public
isSeekable(): bool
|
シーク可能なストリームか判定する |
public
seek(int $offset, int $whence = 0): void
|
指定位置にシークする |
public
rewind(): void
|
ストリームの読み書き位置を先頭へ戻す |
public
isWritable(): bool
|
書き込み可能なストリームか判定する |
public
write(string $string): int
|
ストリームに書き込む |
public
isReadable(): bool
|
読み取り可能なストリームか判定する |
public
read(int $length): string
|
ストリームから指定バイト数を読み込む |
public
getContents(): string
|
現在位置から末尾までの内容を返す |
public
getMetadata(?string $key): mixed
|
ストリームメタデータを取得する
`stream_get_meta_data()` の結果をそのまま返す薄いラッパー。 |