Class FnStream
- GuzzleHttp\Psr7\FnStream implements Psr\Http\Message\StreamInterface
- Namespace: GuzzleHttp\Psr7
- Located at FnStream.php
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.
Methods Summary
- __construct ( array $methods )
-
__get ( $name )
Lazily determine which methods are not implemented.
-
__destruct ( )
The close method is called on the underlying stream only if possible.
-
__wakeup ( )
An unserialize would allow the __destruct to run when the unserialized value goes out of scope.
-
static
decorate ( Psr\Http\Message\StreamInterface $stream, array $methods )
Adds custom functionality to an underlying stream by intercepting specific method calls.
-
__toString ( )
Reads all data from the stream into a string, from the beginning to end.
-
close ( )
Closes the stream and any underlying resources.
-
detach ( )
Separates any underlying resources from the stream.
-
getSize ( )
Get the size of the stream if known.
-
tell ( )
Returns the current position of the file read/write pointer
-
eof ( )
Returns true if the stream is at the end of the stream.
-
isSeekable ( )
Returns whether or not the stream is seekable.
-
rewind ( )
Seek to the beginning of the stream.
-
seek ( int $offset, int $whence = SEEK_SET )
Seek to a position in the stream.
-
isWritable ( )
Returns whether or not the stream is writable.
-
write ( string $string )
Write data to the stream.
-
isReadable ( )
Returns whether or not the stream is readable.
-
read ( int $length )
Read data from the stream.
-
getContents ( )
Returns the remaining contents in a string
-
getMetadata ( string $key = null )
Get stream metadata as an associative array or retrieve a specific key.
Methods Details
__construct ( array $methods )
Parameters
array | $methods | Hash of method name to a callable. |
__get ( $name )
Lazily determine which methods are not implemented.
Exceptions
BadMethodCallException |
__destruct ( )
The close method is called on the underlying stream only if possible.
__wakeup ( )
An unserialize would allow the __destruct to run when the unserialized value goes out of scope.
Exceptions
LogicException |
static
GuzzleHttp\Psr7\FnStream
decorate (
Psr\Http\Message\StreamInterface
$stream,
array
$methods
)
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 |
string __toString ( )
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 |
See
Implementation of
close ( )
Closes the stream and any underlying resources.
Implementation of
resource|null detach ( )
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 |
Implementation of
integer|null getSize ( )
Get the size of the stream if known.
Returns
integer|null Returns the size in bytes if known, or null if unknown. |
Implementation of
integer tell ( )
Returns the current position of the file read/write pointer
Returns
integer Position of the file pointer |
Exceptions
RuntimeException on error. |
Implementation of
boolean eof ( )
Returns true if the stream is at the end of the stream.
Returns
boolean |
Implementation of
boolean isSeekable ( )
Returns whether or not the stream is seekable.
Returns
boolean |
Implementation of
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).
Exceptions
RuntimeException on failure. |
See
Link
Implementation of
seek ( integer $offset, integer $whence = SEEK_SET )
Seek to a position in the stream.
Parameters
integer | $offset | Stream offset |
integer | $whence = SEEK_SET | 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 |
Exceptions
RuntimeException on failure. |
Link
Implementation of
boolean isWritable ( )
Returns whether or not the stream is writable.
Returns
boolean |
Implementation of
integer write ( string $string )
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. |
Exceptions
RuntimeException on failure. |
Implementation of
boolean isReadable ( )
Returns whether or not the stream is readable.
Returns
boolean |
Implementation of
string read ( integer $length )
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. |
Exceptions
RuntimeException if an error occurs. |
Implementation of
string getContents ( )
Returns the remaining contents in a string
Returns
string |
Exceptions
RuntimeException if unable to read or an error occurs while reading. |
Implementation of
array|mixed|null getMetadata ( string $key = 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 = null | 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. |