<?phpnamespaceGuzzleHttp\Stream;/** * Lazily reads or writes to a file that is opened only after an IO operation * take place on the stream. */classLazyOpenStreamimplementsStreamInterface{useStreamDecoratorTrait;/** @var string File to open */private$filename;/** @var string $mode */private$mode;/** * @param string $filename File to lazily open * @param string $mode fopen mode to use when opening the stream */publicfunction__construct($filename,$mode){$this->filename=$filename;$this->mode=$mode;}/** * Creates the underlying stream lazily when required. * * @return StreamInterface */protectedfunctioncreateStream(){returnStream::factory(Utils::open($this->filename,$this->mode));}}