# Класс HttpSoft\Stream\StreamFactory

Фабрика для создания HttpSoft\Stream\Stream и HttpSoft\Stream\StreamPhpInput, реализует Psr\Http\Message\StreamFactoryInterface.

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

use HttpSoft\Stream\StreamFactory;

$factory = new StreamFactory();

// Создаст экземпляр `HttpSoft\Stream\StreamPhpInput`.

$stream = StreamFactory::create('php://input');
$stream->getMetadata('uri'); // 'php://input'
$stream->getContents(); // ''

// Создать экземпляр `HttpSoft\Stream\Stream`.

$stream = StreamFactory::create('php://temp', 'wb+');
$stream->getMetadata('uri'); // 'php://temp'
$stream->getContents(); // ''

// Создать экземпляр `HttpSoft\Stream\Stream` из существующего файла.

$stream = StreamFactory::create('path/to/file', 'r');
// эквивалентно:
$stream = $factory->createStreamFromFile('path/to/file', 'r');

$stream->getMetadata('uri'); // 'path/to/file'
$stream->getContents(); // 'File content'

// Создать экземпляр `HttpSoft\Stream\Stream` из существующего ресурса.

$resource = fopen('path/to/file', 'r');

$stream = StreamFactory::create($resource);
// эквивалентно:
$stream = $factory->createStreamFromResource($resource);

$stream->getMetadata('uri'); // 'path/to/file'
$stream->getContents(); // 'File content'

// Создать экземпляр `HttpSoft\Stream\Stream` из строки, используя временный ресурс.

$stream = StreamFactory::createFromContent('Content');
// эквивалентно:
$stream = $factory->createStream('Content');

$stream->getMetadata('uri'); // 'php://temp'
$stream->getContents(); // 'Content'

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

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

# create

Создает новый экземпляр HttpSoft\Stream\Stream или HttpSoft\Stream\StreamPhpInput (статический метод).

/**
 * @param StreamInterface|string|resource $stream
 * @param string $mode
 * @return StreamInterface
 */
public static function create($stream, string $mode = 'wb+'): StreamInterface;

# createFromContent

Создает новый экземпляр HttpSoft\Stream\Stream из строки, используя временный ресурс (статический метод).

public static function createFromContent(string $content = ''): StreamInterface;

# createStream

Создает новый экземпляр HttpSoft\Stream\Stream из строки, используя временный ресурс.

public function createStream(string $content = ''): StreamInterface;

# createStreamFromFile

Создает новый экземпляр HttpSoft\Stream\Stream из существующего файла.

public function createStreamFromFile(string $filename, string $mode = 'r'): StreamInterface;

# createStreamFromResource

Создает новый экземпляр HttpSoft\Stream\Stream из существующего ресурса.

/**
 * @param resource $resource
 * @return StreamInterface
 */
public function createStreamFromResource($resource): StreamInterface;