QueryPath\ExtensionRegistry::hasMethod PHP Method

hasMethod() public static method

This checks to see if the given method name belongs to one of the registered extensions. If it does, then this will return TRUE.
public static hasMethod ( string $name ) : boolean
$name string The name of the method to search for.
return boolean TRUE if the method exists, false otherwise.
    public static function hasMethod($name)
    {
        return isset(self::$extensionMethodRegistry[$name]);
    }

Usage Example

Example #1
0
 /**
  * Call extension methods.
  *
  * This function is used to invoke extension methods. It searches the
  * registered extenstensions for a matching function name. If one is found,
  * it is executed with the arguments in the $arguments array.
  *
  * @throws QueryPath::Exception
  *  An exception is thrown if a non-existent method is called.
  */
 public function __call($name, $arguments)
 {
     if (!ExtensionRegistry::$useRegistry) {
         throw new \QueryPath\Exception("No method named {$name} found (Extensions disabled).");
     }
     // Loading of extensions is deferred until the first time a
     // non-core method is called. This makes constructing faster, but it
     // may make the first invocation of __call() slower (if there are
     // enough extensions.)
     //
     // The main reason for moving this out of the constructor is that most
     // new DOMQuery instances do not use extensions. Charging qp() calls
     // with the additional hit is not a good idea.
     //
     // Also, this will at least limit the number of circular references.
     if (empty($this->ext)) {
         // Load the registry
         $this->ext = ExtensionRegistry::getExtensions($this);
     }
     // Note that an empty ext registry indicates that extensions are disabled.
     if (!empty($this->ext) && ExtensionRegistry::hasMethod($name)) {
         $owner = ExtensionRegistry::getMethodClass($name);
         $method = new \ReflectionMethod($owner, $name);
         return $method->invokeArgs($this->ext[$owner], $arguments);
     }
     throw new \QueryPath\Exception("No method named {$name} found. Possibly missing an extension.");
 }