\GuzzleHttp\Psr7FnStream

Compose stream implementations based on a hash of functions.

Allows for easy testing and extension of a provided stream without needing to create a concrete class for a simple extension point.

Summary

Methods
Properties
Constants
__construct()
__get()
__destruct()
decorate()
__toString()
close()
detach()
getSize()
tell()
eof()
isSeekable()
rewind()
seek()
isWritable()
write()
isReadable()
read()
getContents()
getMetadata()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$methods
$slots
N/A

Properties

$methods

$methods : array

Type

array

$slots

$slots : array

Type

array — Methods that must be implemented in the given array

Methods

__construct()

__construct(array  $methods) 

Parameters

array $methods

Hash of method name to a callable.

__get()

__get(  $name) 

Lazily determine which methods are not implemented.

Parameters

$name

Throws

\BadMethodCallException

__destruct()

__destruct() 

The close method is called on the underlying stream only if possible.

decorate()

decorate(\Psr\Http\Message\StreamInterface  $stream, array  $methods) : \GuzzleHttp\Psr7\FnStream

Adds custom functionality to an underlying stream by intercepting specific method calls.

Parameters

\Psr\Http\Message\StreamInterface $stream

Stream to decorate

array $methods

Hash of method name to a closure

Returns

\GuzzleHttp\Psr7\FnStream

__toString()

__toString() : string

Reads all data from the stream into a string, from the beginning to end.

This method MUST attempt to seek to the beginning of the stream before reading data and read the stream until the end is reached.

Warning: This could attempt to load a large amount of data into memory.

This method MUST NOT raise an exception in order to conform with PHP's string casting operations.

Returns

string

close()

close() : void

Closes the stream and any underlying resources.

detach()

detach() : resource|null

Separates any underlying resources from the stream.

After the stream has been detached, the stream is in an unusable state.

Returns

resource|null —

Underlying PHP stream, if any

getSize()

getSize() : integer|null

Get the size of the stream if known.

Returns

integer|null —

Returns the size in bytes if known, or null if unknown.

tell()

tell() : integer

Returns the current position of the file read/write pointer

Returns

integer —

Position of the file pointer

eof()

eof() : boolean

Returns true if the stream is at the end of the stream.

Returns

boolean

isSeekable()

isSeekable() : boolean

Returns whether or not the stream is seekable.

Returns

boolean

rewind()

rewind() 

Seek to the beginning of the stream.

If the stream is not seekable, this method will raise an exception; otherwise, it will perform a seek(0).

seek()

seek(integer  $offset, integer  $whence = SEEK_SET) 

Seek to a position in the stream.

Parameters

integer $offset

Stream offset

integer $whence

Specifies how the cursor position will be calculated based on the seek offset. Valid values are identical to the built-in PHP $whence values for fseek(). SEEK_SET: Set position equal to offset bytes SEEK_CUR: Set position to current location plus offset SEEK_END: Set position to end-of-stream plus offset.

isWritable()

isWritable() : boolean

Returns whether or not the stream is writable.

Returns

boolean

write()

write(string  $string) : integer

Write data to the stream.

Parameters

string $string

The string that is to be written.

Returns

integer —

Returns the number of bytes written to the stream.

isReadable()

isReadable() : boolean

Returns whether or not the stream is readable.

Returns

boolean

read()

read(integer  $length) : string

Read data from the stream.

Parameters

integer $length

Read up to $length bytes from the object and return them. Fewer than $length bytes may be returned if underlying stream call returns fewer bytes.

Returns

string —

Returns the data read from the stream, or an empty string if no bytes are available.

getContents()

getContents() : string

Returns the remaining contents in a string

Returns

string

getMetadata()

getMetadata(string  $key = null) : array|mixed|null

Get stream metadata as an associative array or retrieve a specific key.

The keys returned are identical to the keys returned from PHP's stream_get_meta_data() function.

Parameters

string $key

Specific metadata to retrieve.

Returns

array|mixed|null —

Returns an associative array if no key is provided. Returns a specific key value if a key is provided and the value is found, or null if the key is not found.