Page MenuHomeWickedGov Phorge

LazyOpenStream.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

LazyOpenStream.php

<?php
declare(strict_types=1);
namespace GuzzleHttp\Psr7;
use Psr\Http\Message\StreamInterface;
/**
* Lazily reads or writes to a file that is opened only after an IO operation
* take place on the stream.
*/
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));
}
}

File Metadata

Mime Type
text/x-php
Expires
Aug 19 2026, 22:46 (8 w, 3 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
7b/4f/f96b32113cfd483d2e0d738f495e
Default Alt Text
LazyOpenStream.php (1 KB)

Event Timeline