这对访问私有方法很有用,但请记住,通常有理由将事物设为私有!单元测试是这种做法的一种(有争议的)用例。
示例
<?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