PumpStream
    
            
            in package
            
        
    
            
            implements
                            StreamInterface                    
    
    
        
            Provides a read only stream that pumps data from a PHP callable.
When invoking the provided callable, the PumpStream will pass the amount of data requested to read to the callable. The callable can choose to ignore this value and return fewer or more bytes than requested. Any extra data returned by the provided callable is buffered internally until drained using the read() function of the PumpStream. The provided callable MUST return false when there is no more data to read.
Interfaces, Classes, Traits and Enums
- StreamInterface
 - Describes a data stream.
 
Table of Contents
- $buffer : BufferStream
 - $metadata : array<string|int, mixed>
 - $size : int|null
 - $source : callable|null
 - $tellPos : int
 - __construct() : mixed
 - __toString() : string
 - Reads all data from the stream into a string, from the beginning to end.
 - 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() : mixed
 - 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 or not the stream is readable.
 - isSeekable() : bool
 - Returns whether or not the stream is seekable.
 - isWritable() : bool
 - Returns whether or not 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.
 - pump() : void
 
Properties
$buffer
    private
        BufferStream
    $buffer
    
    
    
    
$metadata
    private
        array<string|int, mixed>
    $metadata
    
    
    
    
$size
    private
        int|null
    $size
    
    
    
    
$source
    private
        callable|null
    $source
    
    
    
    
$tellPos
    private
        int
    $tellPos
     = 0
    
    
    
Methods
__construct()
    public
                    __construct(callable $source[, array<string|int, mixed> $options = [] ]) : mixed
    
        Parameters
- $source : callable
 - $options : array<string|int, mixed> = []
 
Return values
mixed —__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.
Return values
string —close()
Closes the stream and any underlying resources.
    public
                    close() : void
    
    
    
        Return values
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
bool —getContents()
Returns the remaining contents in a string
    public
                    getContents() : string
    
    
    
        Return values
string —getMetadata()
Get stream metadata as an associative array or retrieve a specific key.
    public
                    getMetadata([mixed $key = null ]) : mixed
    
        Parameters
- $key : mixed = null
 - 
                    
Specific metadata to retrieve.
 
Return values
mixed —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 or not the stream is readable.
    public
                    isReadable() : bool
    
    
    
        Return values
bool —isSeekable()
Returns whether or not the stream is seekable.
    public
                    isSeekable() : bool
    
    
    
        Return values
bool —isWritable()
Returns whether or not the stream is writable.
    public
                    isWritable() : bool
    
    
    
        Return values
bool —read()
Read data from the stream.
    public
                    read(mixed $length) : string
    
        Parameters
- $length : mixed
 - 
                    
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.
 
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).
Return values
void —seek()
Seek to a position in the stream.
    public
                    seek(mixed $offset[, mixed $whence = SEEK_SET ]) : void
    
        Parameters
- $offset : mixed
 - 
                    
Stream offset
 - $whence : mixed = 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. 
Return values
void —tell()
Returns the current position of the file read/write pointer
    public
                    tell() : int
    
    
    
        Return values
int —Position of the file pointer
write()
Write data to the stream.
    public
                    write(mixed $string) : int
    
        Parameters
- $string : mixed
 - 
                    
The string that is to be written.
 
Return values
int —Returns the number of bytes written to the stream.
pump()
    private
                    pump(int $length) : void
        
        Parameters
- $length : int