Documentation / StreamFactory

The StreamFactory class is fully compatible with PSR-17 StreamFactoryInterface, implementing specified methods and some extras. Can be used anywhere where PSR-17 StreamFactoryInterface compability is expected.

Synopsis

namespace Phrity\Net;

use Psr\Http\Message\StreamFactoryInterface; use Psr\Http\Message\UriInterface;

class StreamFactory implements StreamFactoryInterface { // Constructor

public function __construct();

// PSR-17 StreamFactoryInterface methods

public function createStream(string $content = ''): Stream;
public function createStreamFromFile(string $filename, string $mode = 'r'): Stream;
// Must be a resource of type stream
public function createStreamFromResource(resource $resource): Stream;

// Additional methods

// Create a socket stream
public function createSocketStreamFromResource($resource): SocketStream;
// Create socket client
public function createSocketClient(UriInterface $uri, Context|null $context = null): SocketClient;
// Create a socket server
public function createSocketServer(UriInterface $uri, Context|null $context = null): SocketServer;
// Create a stream collection
public function createStreamCollection(): StreamCollection;

}