namespace Psr\Http\Message; use Psr\Http\Message\StreamInterface; interface StreamFactoryInterface { /** * 文字列から新しいストリームを作成します。 * * ストリームは一時的なリソースで作成する必要があります。 * * @param string $content ストリームに入力する文字列コンテンツ。 */ public function createStream(string $content = ''): StreamInterface; /** * 既存のファイルからストリームを作成します。 * * ファイルは与えられたモードを使って開かれなければなりません。 * これは `fopen`関数でサポートされているどのモードでもかまいません。 * * `$filename`は`fopen()`でサポートされている任意の文字列にすることができます。 * * @param string $filename ストリームの基礎として使用するファイル名またはストリームURI。 * @param string $mode 基本となるファイル名/ストリームを開くためのモード。 * * @throws \RuntimeException ファイルを開けない場合。 * @throws \InvalidArgumentException モードが無効な場合。 */ public function createStreamFromFile(string $filename, string $mode = 'r'): StreamInterface; /** * 既存のリソースから新しいストリームを作成します。 * * ストリームは読み取り可能でなければならず、書き込み可能である必要があります。 * * @param resource $resource ストリームのベースとして使用するPHPリソース。 */ public function createStreamFromResource($resource): StreamInterface; }