\GuzzleHttp\Psr7AppendStream

Reads from multiple streams, one after the other.

This is a read-only stream decorator.

Summary

Methods
Properties
Constants
__construct()
__toString()
addStream()
getContents()
close()
detach()
tell()
getSize()
eof()
rewind()
seek()
read()
isReadable()
isWritable()
isSeekable()
write()
getMetadata()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$streams
$seekable
$current
$pos
N/A

Properties

$streams

$streams : \Psr\Http\Message\StreamInterface[]

Type

StreamInterface[] — Streams being decorated

$seekable

$seekable

$current

$current

$pos

$pos

Methods

__construct()

__construct(\Psr\Http\Message\StreamInterface[]  $streams = []) : mixed

Parameters

\Psr\Http\Message\StreamInterface[] $streams

Streams to decorate. Each stream must be readable.

Returns

mixed —

__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 —

addStream()

addStream(\Psr\Http\Message\StreamInterface  $stream) : mixed

Add a stream to the AppendStream

Parameters

\Psr\Http\Message\StreamInterface $stream

Stream to append. Must be readable.

Throws

\InvalidArgumentException

if the stream is not readable

Returns

mixed —

getContents()

getContents() : string

Returns the remaining contents in a string

Returns

string —

close()

close() : void

Closes each attached stream.

{@inheritdoc}

detach()

detach() : resource|null

Detaches each attached stream.

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

{@inheritdoc}

Returns

resource|null —

Underlying PHP stream, if any

tell()

tell() : int

Returns the current position of the file read/write pointer

Returns

int —

Position of the file pointer

getSize()

getSize() : int|null

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.

{@inheritdoc}

Returns

int|null —

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

eof()

eof() : bool

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

Returns

bool —

rewind()

rewind() : mixed

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).

Returns

mixed —

seek()

seek(mixed  $offset, mixed  $whence = SEEK_SET) : mixed

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

{@inheritdoc}

Parameters

mixed $offset

Stream offset

mixed $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.

Returns

mixed —

read()

read(mixed  $length) : string

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

{@inheritdoc}

Parameters

mixed $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.

isReadable()

isReadable() : bool

Returns whether or not the stream is readable.

Returns

bool —

isWritable()

isWritable() : bool

Returns whether or not the stream is writable.

Returns

bool —

isSeekable()

isSeekable() : bool

Returns whether or not the stream is seekable.

Returns

bool —

write()

write(mixed  $string) : int

Write data to the stream.

Parameters

mixed $string

The string that is to be written.

Returns

int —

Returns the number of bytes written to the stream.

getMetadata()

getMetadata(mixed  $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

mixed $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.