Stream implements StreamInterface
Default implementation for the StreamInterface of the PSR-7 standard Acts mainly as a decorator class for streams/resources.
Highly inspired by https://github.com/phly/http/
Note that this is not public API yet.
Table of Contents
Interfaces
- StreamInterface
Properties
Methods
- __construct() : mixed
- Constructor setting up the PHP resource
- __toString() : string
- Reads all data from the stream into a string, from the beginning to end.
- attach() : mixed
- Attach a new stream/resource to the instance.
- close() : void
- Closes the stream and any underlying resources.
- detach() : resource|null
- Separates any underlying resources from the stream.
- eof() : bool
- Returns true if the stream is at the end of the stream.
- getContents() : string
- Returns the remaining contents in a string
- getMetadata() : array<string|int, mixed>|mixed|null
- Get stream metadata as an associative array or retrieve a specific key.
- getSize() : int|null
- Get the size of the stream if known.
- isReadable() : bool
- Returns whether the stream is readable.
- isSeekable() : bool
- Returns whether the stream is seekable.
- isWritable() : bool
- Returns whether the stream is writable.
- read() : string
- Read data from the stream.
- rewind() : void
- Seek to the beginning of the stream.
- seek() : void
- Seek to a position in the stream.
- tell() : int
- Returns the current position of the file read/write pointer
- write() : int
- Write data to the stream.
Properties
$resource
The actual PHP resource
        protected
            resource|null
    $resource
    
    
    
    
    
    
$stream
        protected
            string|resource
    $stream
    
    
    
    
    
    
Methods
__construct()
Constructor setting up the PHP resource
    public
                    __construct(string|resource $stream[, string $mode = 'r' ]) : mixed
    Parameters
- $stream : string|resource
- $mode : string = 'r'
- 
                    Mode with which to open stream 
Tags
__toString()
Reads all data from the stream into a string, from the beginning to end.
    public
                    __toString() : string
    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.
Tags
Return values
stringattach()
Attach a new stream/resource to the instance.
    public
                    attach(string|resource $resource[, string $mode = 'r' ]) : mixed
    Parameters
- $resource : string|resource
- $mode : string = 'r'
Tags
close()
Closes the stream and any underlying resources.
    public
                    close() : void
    detach()
Separates any underlying resources from the stream.
    public
                    detach() : resource|null
    After the stream has been detached, the stream is in an unusable state.
Return values
resource|null —Underlying PHP stream, if any
eof()
Returns true if the stream is at the end of the stream.
    public
                    eof() : bool
    Return values
boolgetContents()
Returns the remaining contents in a string
    public
                    getContents() : string
    Tags
Return values
stringgetMetadata()
Get stream metadata as an associative array or retrieve a specific key.
    public
                    getMetadata([string $key = null ]) : array<string|int, mixed>|mixed|null
    The keys returned are identical to the keys returned from PHP's stream_get_meta_data() function.
Parameters
- $key : string = null
- 
                    Specific metadata to retrieve. 
Tags
Return values
array<string|int, mixed>|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.
getSize()
Get the size of the stream if known.
    public
                    getSize() : int|null
    Return values
int|null —Returns the size in bytes if known, or null if unknown.
isReadable()
Returns whether the stream is readable.
    public
                    isReadable() : bool
    Return values
boolisSeekable()
Returns whether the stream is seekable.
    public
                    isSeekable() : bool
    Return values
boolisWritable()
Returns whether the stream is writable.
    public
                    isWritable() : bool
    Return values
boolread()
Read data from the stream.
    public
                    read(int $length) : string
    Parameters
- $length : int
- 
                    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. 
Tags
Return values
string —Returns the data read from the stream, or an empty string if no bytes are available.
rewind()
Seek to the beginning of the stream.
    public
                    rewind() : void
    If the stream is not seekable, this method will raise an exception; otherwise, it will perform a seek(0).
Tags
seek()
Seek to a position in the stream.
    public
                    seek(int $offset[, int $whence = SEEK_SET ]) : void
    Parameters
- $offset : int
- 
                    Stream offset 
- $whence : int = 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 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.
Tags
tell()
Returns the current position of the file read/write pointer
    public
                    tell() : int
    Tags
Return values
int —Position of the file pointer
write()
Write data to the stream.
    public
                    write(string $string) : int
    Parameters
- $string : string
- 
                    The string that is to be written. 
Tags
Return values
int —Returns the number of bytes written to the stream.