我正在尝试使用反射列出PHP中所有类的方法/属性。简单的列表有效。
但它也列出了基类的属性和方法。我该如何过滤这个?
TKS!
答案 0 :(得分:2)
请注意,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() {
// ...
}
}