/**
  * 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;
 }
Example #2
0
 /**
  * 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;
 }