PHP:获取方法的参数?

Rak*_*ard 49 php methods arguments class object

在php中,我可以检查对象的所有可用方法,如下所示:

$methods = get_class_methods($object);
Run Code Online (Sandbox Code Playgroud)

但是,如何才能看到必须将这些参数发送到这些方法?

这有功能吗?

irc*_*ell 105

你可以用反射 ......

$r = new ReflectionMethod($className, $methodName);
$params = $r->getParameters();
foreach ($params as $param) {
    //$param is an instance of ReflectionParameter
    echo $param->getName();
    echo $param->isOptional();
}
Run Code Online (Sandbox Code Playgroud)

  • 当你只想知道需要多少个参数时,使用`getNumberOfRequiredParameters` http://www.php.net/manual/en/reflectionfunctionabstract.getnumberofrequiredparameters.php (3认同)
  • 只是为了110%......不,120%明确 - @ AngelS.Moreno正在讽刺.我不会否认极少数情况下反射所提供的信息是有用的,但对于99.999%的行业价值代码而言,这些代码不会让你在代码审查会议中被钉在十字架上,反思就没有任何意义. (2认同)