比如碰到class有私有或保护方法,不能直接访问,也不可以直接改代码的情况下可以使用
Class代码
class TestClass {
protected function protectedList() {
return ['c', 'd'];
}
private function privateList() {
return ['a', 'b'];
}
public function publicList() {
return ['e', 'f'];
}
}
$class = new TestClass();
$ref = new \ReflectionMethod($class, 'protectedList');
$ref->setAccessible(TRUE);
$list = $ref->invoke($class);
dpm($list);
输出
Array
(
[0] => c
[1] => d
)