= strlen(static::$body); } public function stream_tell() { return static::$position; } public function stream_stat() { return []; } public function stream_seek($offset, $whence) { static::$position = $offset; return true; } public function stream_close() { return null; } public static function register($streamName) { self::$streamName = $streamName; stream_wrapper_register($streamName, StreamStub::class); } public static function unregister() { stream_wrapper_unregister(self::$streamName); self::_reset(); } private static function _reset() { static::$body = ''; static::$position = 0; } }