我试图在PHP中使用反射列出类的所有方法/属性。这个简单的清单可以工作。
但是它也列出了基类的属性和方法。我该如何过滤呢?
谢谢!
注意,ReflectionMethod
具有getDeclaringClass()
方法。此方法返回在其中声明该方法的类。如果只显示在你的类中声明的方法,你应该试试:
$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() {
// ...
}
}