15 public function __construct(StreamInterface
$stream)
28 public function __get(
$name)
30 if (
$name ==
'stream') {
31 $this->stream = $this->createStream();
35 throw new \UnexpectedValueException(
"$name not found on class");
38 public function __toString()
41 if ($this->isSeekable()) {
44 return $this->getContents();
47 trigger_error(
'StreamDecorator::__toString exception: ' 48 . (
string) $e, E_USER_ERROR);
53 public function getContents()
66 public function __call($method, array $args)
68 $result = call_user_func_array([$this->stream, $method], $args);
74 public function close()
76 $this->stream->close();
79 public function getMetadata(
$key = null)
81 return $this->stream->getMetadata(
$key);
84 public function detach()
86 return $this->stream->detach();
89 public function getSize()
91 return $this->stream->getSize();
96 return $this->stream->eof();
99 public function tell()
101 return $this->stream->tell();
104 public function isReadable()
106 return $this->stream->isReadable();
109 public function isWritable()
111 return $this->stream->isWritable();
114 public function isSeekable()
116 return $this->stream->isSeekable();
119 public function rewind()
124 public function seek($offset, $whence = SEEK_SET)
126 $this->stream->seek($offset, $whence);
129 public function read($length)
131 return $this->stream->read($length);
134 public function write($string)
136 return $this->stream->write($string);
145 protected function createStream()
147 throw new \BadMethodCallException(
'Not implemented');
__call($method, array $arguments)
Plugins pass-through.
$stream
PHP stream implementation.
copy_to_string(StreamInterface $stream, $maxLen=-1)
Copy the contents of a stream into a string until the given number of bytes have been read...