Exemplo n.º 1
0
 /**
  * Checks if "$class instanceof $interface"
  *
  * @param NULL|Class_ $class
  * @param Interface_ $superInterface
  * @return bool
  */
 public static function classImplements(Class_ $class = NULL, Interface_ $superInterface)
 {
     if (NULL === $class) {
         return false;
     }
     foreach ($class->getInterfaces() as $interface) {
         if ($interface === $superInterface) {
             return true;
         }
     }
     return self::classImplements($class->getParent(), $superInterface);
 }
Exemplo n.º 2
0
 /**
  * @param Class_ $class
  * @param string $methodName
  * @return bool
  */
 private function classHasParentMethod(Class_ $class = NULL, $methodName)
 {
     if (NULL === $class) {
         return false;
     }
     foreach ($class->getMethods() as $method) {
         $classMethodName = $method->getNormalizedName();
         if ($classMethodName === $methodName) {
             return true;
         }
     }
     return self::classHasParentMethod($class->getParent(), $methodName);
 }