On this page
Class CallbackStream
Implementation of PSR HTTP streams.
This differs from Laminas\Diactoros\Callback stream in that it allows the use of echo
inside the callback, and gracefully handles the callback not returning a string.
Ideally we can amend/update diactoros, but we need to figure that out with the diactoros project. Until then we'll use this shim to provide backwards compatibility with existing CakePHP apps.
Property Summary
-
$callback protected
callable|null
Method Summary
__construct() public
__toString() public
Reads all data from the stream into a string, from the beginning to end.
attach() public
Attach a new callback to the instance.
close() public
Closes the stream and any underlying resources.
detach() public
Separates any underlying resources from the stream.
eof() public
Returns true if the stream is at the end of the stream.
getContents() public
Returns the remaining contents in a string
getMetadata() public
Get stream metadata as an associative array or retrieve a specific key.
getSize() public
Get the size of the stream if known.
isReadable() public
Returns whether or not the stream is readable.
isSeekable() public
Returns whether or not the stream is seekable.
isWritable() public
Returns whether or not the stream is writable.
read() public
Read data from the stream.
rewind() public
Seek to the beginning of the stream.
seek() public
Seek to a position in the stream.
tell() public
Returns the current position of the file read/write pointer
write() public
Write data to the stream.
Method Detail
__construct() public
__construct(callable $callback)
Parameters
callable
$callback
Throws
Exception\InvalidArgumentException
__toString() public
__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
attach() public
attach(callable $callback): void
Attach a new callback to the instance.
Parameters
callable
$callback
Returns
void
close() public
close(): void
Closes the stream and any underlying resources.
Returns
void
detach() public
detach(): null|callable
Separates any underlying resources from the stream.
After the stream has been detached, the stream is in an unusable state.
Returns
null|callable
eof() public
eof(): bool
Returns true if the stream is at the end of the stream.
Returns
bool
getContents() public
getContents(): string
Returns the remaining contents in a string
Returns
string
getMetadata() public
getMetadata(string $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
string
$key optional
Returns
array|mixed|null
getSize() public
getSize(): ?int
Get the size of the stream if known.
Returns
?int
isReadable() public
isReadable(): bool
Returns whether or not the stream is readable.
Returns
bool
isSeekable() public
isSeekable(): bool
Returns whether or not the stream is seekable.
Returns
bool
isWritable() public
isWritable(): bool
Returns whether or not the stream is writable.
Returns
bool
read() public
read(int $length): string
Read data from the stream.
Parameters
int
$length
Returns
string
rewind() public
rewind(): void
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
void
seek() public
seek(int $offset, int $whence = SEEK_SET): void
Seek to a position in the stream.
Parameters
int
$offsetint
$whence optional
Returns
void
tell() public
tell(): int
Returns the current position of the file read/write pointer
Returns
int
write() public
write(string $string): void
Write data to the stream.
Parameters
string
$string
Returns
void
Property Detail
$callback protected
Type
callable|null
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Http.CallbackStream.html