/** * method to register the stream wrapper * * Please be aware that a call to this method will reset the root element * to null. * If the stream is already registered the method returns silently. If there * is already another stream wrapper registered for the scheme used by * vfsStream a vfsStreamException will be thrown. * * @throws vfsStreamException */ public static function register() { self::$root = null; self::$quota = Quota::unlimited(); if (true === self::$registered) { return; } if (@stream_wrapper_register(vfsStream::SCHEME, __CLASS__) === false) { throw new vfsStreamException('A handler has already been registered for the ' . vfsStream::SCHEME . ' protocol.'); } self::$registered = true; }
/** * Unregisters a previously registered URL wrapper for the vfs scheme. * * If this stream wrapper wasn't registered, the method returns silently. * * If unregistering fails, or if the URL wrapper for vfs:// was not * registered with this class, a vfsStreamException will be thrown. * * @throws vfsStreamException * @since 1.6.0 */ public static function unregister() { if (!self::$registered) { if (in_array(vfsStream::SCHEME, stream_get_wrappers())) { throw new vfsStreamException('The URL wrapper for the protocol ' . vfsStream::SCHEME . ' was not registered with this version of vfsStream.'); } return; } if (!@stream_wrapper_unregister(vfsStream::SCHEME)) { throw new vfsStreamException('Failed to unregister the URL wrapper for the ' . vfsStream::SCHEME . ' protocol.'); } self::$registered = false; }