关于 ReflectionParameter 构造函数签名的说明实际上是不完整的,至少在 5.2.5 中是这样:可以使用整数作为第二个参数,构造函数将使用它来返回第 n 个参数。
这允许您在记录来自扩展的代码时获得正确的 ReflectionParameter 对象,而这些扩展(奇怪的是)定义了多个具有相同名称的参数。基于字符串的构造函数始终返回具有匹配名称的第一个参数,而基于整数的构造函数正确返回第 n 个参数。
简而言之,这是有效的
<?php
// 假设扩展定义了类似内容:
// Some_Class::someMethod($a, $x, $y, $x, $y)
$p = new ReflectionParameter(array('Some_Class', 'someMethod'), 4);
// 返回最后一个参数,而
$p = new ReflectionParameter(array('Some_Class', 'someMethod'), 'y');
// 始终返回位置 2 的第一个 $y
?>