这对于访问私有方法非常方便,但请记住,事物通常出于某种原因而被设置为私有!单元测试就是一个(有争议的)用例。
示例
<?php
class Foo {
private function myPrivateMethod() {
return 7;
}
}
$method = new ReflectionMethod('Foo', 'myPrivateMethod');
$method->setAccessible(true);
echo $method->invoke(new Foo);
// 输出 "7"
?>
这与 PHPUnit 配合使用效果很好: https://php.net/manual/en/reflectionmethod.setaccessible.php