Documentation

AppendStream
in package
implements StreamInterface

Reads from multiple streams, one after the other.

This is a read-only stream decorator.

Tags
final

Interfaces, Classes and Traits

StreamInterface
Describes a data stream.

Table of Contents

$current  : mixed
$pos  : mixed
$seekable  : mixed
$streams  : array<string|int, StreamInterface>
__construct()  : mixed
__toString()  : string
Reads all data from the stream into a string, from the beginning to end.
addStream()  : mixed
Add a stream to the AppendStream
close()  : void
Closes each attached stream.
detach()  : resource|null
Detaches each attached 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
Tries to calculate the size by adding the size of each stream.
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
Reads from all of the appended streams until the length is met or EOF.
rewind()  : mixed
Seek to the beginning of the stream.
seek()  : mixed
Attempts to seek to the given position. Only supports SEEK_SET.
tell()  : int
Returns the current position of the file read/write pointer
write()  : int
Write data to the stream.

Properties

Methods

__construct()

public __construct([array<string|int, StreamInterface$streams = [] ]) : mixed
Parameters
$streams : array<string|int, StreamInterface> = []

Streams to decorate. Each stream must be readable.

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

addStream()

Add a stream to the AppendStream

public addStream(StreamInterface $stream) : mixed
Parameters
$stream : StreamInterface

Stream to append. Must be readable.

Tags
throws
InvalidArgumentException

if the stream is not readable

Return values
mixed

close()

Closes each attached stream.

public close() : void
Return values
void

detach()

Detaches each attached stream.

public detach() : resource|null

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

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 ]) : 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 : mixed = null

Specific metadata to retrieve.

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

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

public getSize() : int|null

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.

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

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

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() : mixed

If the stream is not seekable, this method will raise an exception; otherwise, it will perform a seek(0).

Return values
mixed

seek()

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

public seek(mixed $offset[, mixed $whence = SEEK_SET ]) : mixed
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
mixed

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.

Search results