【发布时间】:2013-04-05 15:31:55
【问题描述】:
考虑以下 sn-p:
class A {
private function foo() {}
protected function bar() {}
}
class B extends A {
private function baz() {}
}
$r = new ReflectionClass('B');
foreach ($r->getMethods() as $method) {
echo $method->getName() . PHP_EOL;
}
我希望得到以下输出:
baz
bar
但实际输出是:
baz
foo
bar
为什么getMethods()从父类返回私有方法,因此超出了被反映的类的范围B?
我想知道这背后是否有任何理由,或者这是一个应该提交的错误?
【问题讨论】:
标签: php reflection