如何从方法列表中排除继承的方法,反射(PHP)

如何从方法列表中排除继承的方法,反射(PHP),php,class,reflection,Php,Class,Reflection,我试图使用反射列出PHP中类的所有方法/属性。这个简单的列表很有效 但它也列出了基类的属性和方法。我如何过滤这个 tks 请注意,它具有该方法。此方法返回该方法所在的类。也仅显示在类中声明的方法,您应该尝试以下操作: $class = new ReflectionClass('YourClass'); foreach($class->getMethods() as $m) { if($m->getDeclaringClass()->getName() === 'You

我试图使用反射列出PHP中类的所有方法/属性。这个简单的列表很有效

但它也列出了基类的属性和方法。我如何过滤这个

tks

请注意,它具有该方法。此方法返回该方法所在的类。也仅显示在类中声明的方法,您应该尝试以下操作:

$class = new ReflectionClass('YourClass');

foreach($class->getMethods() as $m) {
    if($m->getDeclaringClass()->getName() === 'YourClass') {
        echo $m->getName(), PHP_EOL;
    }
}
其中,
YourClass
是这样的:

class YourClass extends DOMDocument {


    public function doSomething() {
        // ...
    }


    public function doSomethingElse() {
        // ...
    }

}

请注意,对于编辑问题和回答问题,属性和常量+1的作用是相同的。谢谢!很难理解:)真棒的回答,tks!!!