class LazyOpenStream
Lazily reads or writes to a file that is opened only after an IO operation take place on the stream.
Hierarchy
- class \GuzzleHttp\Psr7\LazyOpenStream implements \Psr\Http\Message\StreamInterface uses \GuzzleHttp\Psr7\StreamDecoratorTrait
Expanded class hierarchy of LazyOpenStream
1 file declares its use of LazyOpenStream
- CurlFactory.php in vendor/
guzzlehttp/ guzzle/ src/ Handler/ CurlFactory.php
File
-
vendor/
guzzlehttp/ psr7/ src/ LazyOpenStream.php, line 13
Namespace
GuzzleHttp\Psr7View source
final class LazyOpenStream implements StreamInterface {
use StreamDecoratorTrait;
/** @var string */
private $filename;
/** @var string */
private $mode;
/**
* @var StreamInterface
*/
private $stream;
/**
* @param string $filename File to lazily open
* @param string $mode fopen mode to use when opening the stream
*/
public function __construct(string $filename, string $mode) {
$this->filename = $filename;
$this->mode = $mode;
// unsetting the property forces the first access to go through
// __get().
unset($this->stream);
}
/**
* Creates the underlying stream lazily when required.
*/
protected function createStream() : StreamInterface {
return Utils::streamFor(Utils::tryFopen($this->filename, $this->mode));
}
}