[英]get function parameter with default value
我知道如何获取函数参数。
我当然使用ReflectionMethod来获取函数参数但是目前我无法获得那些参数的默认值。
这是我定义函数的代码
class A{
public function fn($para1,$para2="not required"){
//some kind of stuff
}
}
获取函数参数的代码
$meth = new ReflectionMethod("A","fn");
foreach ($meth->getParameters() as $param) {
//some kind of stuff
}
现在请告诉我如何获取函数参数的默认值
来自文档:
<?php
function foo($test, $bar = 'baz')
{
echo $test . $bar;
}
$function = new ReflectionFunction('foo');
foreach ($function->getParameters() as $param) {
echo 'Name: ' . $param->getName() . PHP_EOL;
if ($param->isOptional()) {
echo 'Default value: ' . $param->getDefaultValue() . PHP_EOL;
}
echo PHP_EOL;
}
?>
http://www.php.net/manual/en/reflectionparameter.getdefaultvalue.php
这是一种很容易找到答案的方法。
$meth = new ReflectionMethod("A","fn");
foreach ($meth->getParameters() as $param) {
var_dump(get_class_methods(get_class($param)));
}
这将打印所有可用方法的列表,以下是最后几个:
[11]=> string(10) "isOptional"
[12]=> string(23) "isDefaultValueAvailable"
[13]=> string(15) "getDefaultValue"
这应该给你足够的信息来找出答案。 也就是说,在进入手册之前。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.