比如碰到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
)