Reads from multiple streams, one after the other.

This is a read-only stream decorator.

Cloneable Instantiable
public __construct ( array $streams = [ ] )
public __toString () : string
public addStream ( Psr\Http\Message\StreamInterface $stream )

Add a stream to the AppendStream

  • throws InvalidArgumentException if the stream is not readable
public close ()

Closes each attached stream.


public detach ()

Detaches each attached stream.

Returns null as it's not clear which underlying stream resource to return.


public eof ()
public getContents ()
public getMetadata ( $key = NULL )
public getSize ()

Tries to calculate the size by adding the size of each stream.

If any of the streams do not return a valid number, then the size of the
append stream cannot be determined and null is returned.


public isReadable ()
public isSeekable ()
public isWritable ()
public read ( $length )

Reads from all of the appended streams until the length is met or EOF.


public rewind ()
public seek ( $offset , $whence = 0 )

Attempts to seek to the given position. Only supports SEEK_SET.


public tell ()
public write ( $string )
private $current
private $pos
private $seekable
private $streams
  • var StreamInterface [] Streams being decorated
© 2021 Bruce Wells
Search Namespaces \ Classes