Class CallbackStream
Implementation of PSR HTTP streams.
This differs from Zend\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 protectedcallable|null
Method Summary
- 
          __construct() public
- 
          __toString() publicReads all data from the stream into a string, from the beginning to end. 
- 
          attach() publicAttach a new callback to the instance. 
- 
          close() publicCloses the stream and any underlying resources. 
- 
          detach() publicSeparates any underlying resources from the stream. 
- 
          eof() publicReturns true if the stream is at the end of the stream. 
- 
          getContents() publicReturns the remaining contents in a string 
- 
          getMetadata() publicGet stream metadata as an associative array or retrieve a specific key. 
- 
          getSize() publicGet the size of the stream if known. 
- 
          isReadable() publicReturns whether or not the stream is readable. 
- 
          isSeekable() publicReturns whether or not the stream is seekable. 
- 
          isWritable() publicReturns whether or not the stream is writable. 
- 
          read() publicRead data from the stream. 
- 
          rewind() publicSeek to the beginning of the stream. 
- 
          seek() publicSeek to a position in the stream. 
- 
          tell() publicReturns the current position of the file read/write pointer 
- 
          write() publicWrite data to the stream. 
Method Detail
__construct() ¶ public
__construct(callable $callback)Parameters
- 
                callable$callback
Throws
InvalidArgumentException__toString() ¶ public
__toString(): stringReads 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
stringattach() ¶ public
attach(callable $callback)Attach a new callback to the instance.
Parameters
- 
                callable$callback
Throws
InvalidArgumentExceptionfor callable callback
detach() ¶ public
detach(): resource|nullSeparates any underlying resources from the stream.
After the stream has been detached, the stream is in an unusable state.
Returns
resource|nullgetContents() ¶ public
getContents(): stringReturns the remaining contents in a string
Returns
stringgetMetadata() ¶ public
getMetadata(string|null $key = null): array|mixed|nullGet 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|null$key optional
Returns
array|mixed|nullisReadable() ¶ public
isReadable(): boolReturns whether or not the stream is readable.
Returns
boolisSeekable() ¶ public
isSeekable(): boolReturns whether or not the stream is seekable.
Returns
boolisWritable() ¶ public
isWritable(): boolReturns whether or not the stream is writable.
Returns
boolread() ¶ public
read(int $length): stringRead data from the stream.
Parameters
- 
                int$length
Returns
stringrewind() ¶ public
rewind()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).
seek() ¶ public
seek(int $offset, int $whence = SEEK_SET)Seek to a position in the stream.
Parameters
- 
                int$offset
- 
                int$whence optional
write() ¶ public
write(string $string): intWrite data to the stream.
Parameters
- 
                string$string
Returns
int