final class RelativeStream in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/zendframework/zend-diactoros/src/RelativeStream.php \Zend\Diactoros\RelativeStream
Class RelativeStream
Wrapper for default Stream class, representing subpart (starting from given offset) of initial stream. It can be used to avoid copying full stream, conserving memory. @example see Zend\Diactoros\AbstractSerializer::splitStream()
Hierarchy
- class \Zend\Diactoros\RelativeStream implements StreamInterface
Expanded class hierarchy of RelativeStream
File
- vendor/
zendframework/ zend-diactoros/ src/ RelativeStream.php, line 21
Namespace
Zend\DiactorosView source
final class RelativeStream implements StreamInterface {
/**
* @var StreamInterface
*/
private $decoratedStream;
/**
* @var int
*/
private $offset;
/**
* Class constructor
*
* @param StreamInterface $decoratedStream
* @param int $offset
*/
public function __construct(StreamInterface $decoratedStream, $offset) {
$this->decoratedStream = $decoratedStream;
$this->offset = (int) $offset;
}
/**
* {@inheritdoc}
*/
public function __toString() {
$this
->seek(0);
return $this
->getContents();
}
/**
* {@inheritdoc}
*/
public function close() {
$this->decoratedStream
->close();
}
/**
* {@inheritdoc}
*/
public function detach() {
return $this->decoratedStream
->detach();
}
/**
* {@inheritdoc}
*/
public function getSize() {
return $this->decoratedStream
->getSize() - $this->offset;
}
/**
* {@inheritdoc}
*/
public function tell() {
return $this->decoratedStream
->tell() - $this->offset;
}
/**
* {@inheritdoc}
*/
public function eof() {
return $this->decoratedStream
->eof();
}
/**
* {@inheritdoc}
*/
public function isSeekable() {
return $this->decoratedStream
->isSeekable();
}
/**
* {@inheritdoc}
*/
public function seek($offset, $whence = SEEK_SET) {
if ($whence == SEEK_SET) {
return $this->decoratedStream
->seek($offset + $this->offset, $whence);
}
return $this->decoratedStream
->seek($offset, $whence);
}
/**
* {@inheritdoc}
*/
public function rewind() {
return $this
->seek(0);
}
/**
* {@inheritdoc}
*/
public function isWritable() {
return $this->decoratedStream
->isWritable();
}
/**
* {@inheritdoc}
*/
public function write($string) {
return $this->decoratedStream
->write($string);
}
/**
* {@inheritdoc}
*/
public function isReadable() {
return $this->decoratedStream
->isReadable();
}
/**
* {@inheritdoc}
*/
public function read($length) {
return $this->decoratedStream
->read($length);
}
/**
* {@inheritdoc}
*/
public function getContents() {
return $this->decoratedStream
->getContents();
}
/**
* {@inheritdoc}
*/
public function getMetadata($key = null) {
return $this->decoratedStream
->getMetadata($key);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
RelativeStream:: |
private | property | ||
RelativeStream:: |
private | property | ||
RelativeStream:: |
public | function |
Closes the stream and any underlying resources. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Separates any underlying resources from the stream. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Returns true if the stream is at the end of the stream. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Returns the remaining contents in a string Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Get stream metadata as an associative array or retrieve a specific key. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Get the size of the stream if known. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Returns whether or not the stream is readable. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Returns whether or not the stream is seekable. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Returns whether or not the stream is writable. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Read data from the stream. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Seek to the beginning of the stream. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Seek to a position in the stream. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Returns the current position of the file read/write pointer Overrides StreamInterface:: |
|
RelativeStream:: |
public | function |
Write data to the stream. Overrides StreamInterface:: |
|
RelativeStream:: |
public | function | Class constructor | |
RelativeStream:: |
public | function |
Reads all data from the stream into a string, from the beginning to end. Overrides StreamInterface:: |