我知道如何获取功能参数。
我当然使用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
}
现在请告诉我如何获取函数参数的默认值
答案 0 :(得分:2)
来自文档:
<?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
答案 1 :(得分:0)
这是一种很容易找到答案的方法。
$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"
这应该为您提供足够的信息来找出答案。也就是说,在进入手册之前。