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 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
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
stringattach() ¶ public
attach(callable $callback)
      Attach a new callback to the instance.
Parameters
- 
                
callable$callback 
Throws
InvalidArgumentExceptionfor callable callback
detach() ¶ public
detach(): resource|null
      Separates any underlying resources from the stream.
After the stream has been detached, the stream is in an unusable state.
Returns
resource|nullgetContents() ¶ public
getContents(): string
      Returns the remaining contents in a string
Returns
stringgetMetadata() ¶ public
getMetadata(string|null $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|null$key optional 
Returns
array|mixed|nullisReadable() ¶ public
isReadable(): bool
      Returns whether or not the stream is readable.
Returns
boolisSeekable() ¶ public
isSeekable(): bool
      Returns whether or not the stream is seekable.
Returns
boolisWritable() ¶ public
isWritable(): bool
      Returns whether or not the stream is writable.
Returns
boolread() ¶ public
read(int $length): string
      Read 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): int
      Write data to the stream.
Parameters
- 
                
string$string 
Returns
int