值得注意的是,此函数会将位于必需参数之前的可选参数也视为必需参数。这样做很有意义,因为它可以让你验证函数是否会接收足够多的参数以使其正常工作,而无论这些参数位于何处。
<?php
class MyTest {
public function test($a = null, $b) {}
public function test2($a = null, $b, $c = null) {}
}
//创建反射
$r = new \ReflectionMethod('MyTest', 'test');
$r2 = new \ReflectionMethod('MyTest', 'test2');
//验证数字
echo 'Test: ' . $r->getNumberOfRequiredParameters()); //输出: 2
echo 'Test2: ' . $r->getNumberOfRequiredParameters()); //输出: 2
?>