src/Core/ClassInfo.php
public static function has_method_from($class, $method, $compclass)
    {
        $lClass = strtolower($class);
        $lMethod = strtolower($method);
        $lCompclass = strtolower($compclass);
        if (!isset(self::$_cache_methods[$lClass])) {
            self::$_cache_methods[$lClass] = array();
        }

        if (!array_key_exists($lMethod, self::$_cache_methods[$lClass])) {
            self::$_cache_methods[$lClass][$lMethod] = false;

            $classRef = new ReflectionClass($class);

            if ($classRef->hasMethod($method)) {
                $methodRef = $classRef->getMethod($method);
                self::$_cache_methods[$lClass][$lMethod] = $methodRef->getDeclaringClass()->getName();
            }
        }

        return strtolower(self::$_cache_methods[$lClass][$lMethod]) === $lCompclass;
    }
public static function has_method_from($class, $method, $compclass)
    {
        $lClass = strtolower($class);
        $lMethod = strtolower($method);
        $lCompclass = strtolower($compclass);
        if (!isset(self::$_cache_methods[$lClass])) {
            self::$_cache_methods[$lClass] = array();
        }

        if (!array_key_exists($lMethod, self::$_cache_methods[$lClass])) {
            self::$_cache_methods[$lClass][$lMethod] = false;

            $classRef = new ReflectionClass($class);

            if ($classRef->hasMethod($method)) {
                $methodRef = $classRef->getMethod($method);
                self::$_cache_methods[$lClass][$lMethod] = $methodRef->getDeclaringClass()->getName();
            }
        }

        return strtolower(self::$_cache_methods[$lClass][$lMethod]) === $lCompclass;
    }
public static function has_method_from ( $ class , $ method , $ compclass ) { $ lClass = strtolower ( $ class ) ; $ lMethod = strtolower ( $ method ) ; $ lCompclass = strtolower ( $ compclass ) ; if ( ! isset ( self :: $ _cache_methods [ $ lClass ] ) ) { self :: $ _cache_methods [ $ lClass ] = array ( ) ; } if ( ! array_key_exists ( $ lMethod , self :: $ _cache_methods [ $ lClass ] ) ) { self :: $ _cache_methods [ $ lClass ] [ $ lMethod ] = false ; $ classRef = new ReflectionClass ( $ class ) ; if ( $ classRef -> hasMethod ( $ method ) ) { $ methodRef = $ classRef -> getMethod ( $ method ) ; self :: $ _cache_methods [ $ lClass ] [ $ lMethod ] = $ methodRef -> getDeclaringClass ( ) -> getName ( ) ; } } return strtolower ( self :: $ _cache_methods [ $ lClass ] [ $ lMethod ] ) === $ lCompclass ; }
Determine if the given class method is implemented at the given comparison class

@param string $class Class to get methods from
@param string $method Method name to lookup
@param string $compclass Parent class to test if this is the implementor
@return bool True if $class::$method is declared in $compclass
Determine if the given class method is implemented at the given comparison class