【发布时间】:2015-12-10 12:04:45
【问题描述】:
我想获取类中的方法列表以及它们的参数和默认值。我怎样才能做到这一点?以下是我使用的代码:
$class = new ReflectionClass($className);
$methods = [];
foreach($class->getMethods() as $method){
if($method->class == $className && $method->name != '__construct' ){
$obj = [];
$obj['controller'] = $className;
$obj['action'] = $method->name;
$obj['params'] = array_map(function($value){return $value->name;}, $method->getParameters());
$methods[] = $obj;
}
}
上述代码的示例结果如下:
Array(
[0] => Array
(
[controller] => Controller,
[action] => function,
[params] => Array
(
[0] => offset,
[1] => limit
)
)
)
如何获取函数参数的默认值?
【问题讨论】:
-
你的标题应该更具体,写得更好。因为当我看到标题时,我把它误认为是另一个帖子
-
您可以使用
getParameters()获得一个ReflectionParameter 对象列表。您可以使用类的 getDefaultValue 方法从这些对象中获取默认值。 -
IDK 如果这正是您正在寻找的,但他可能会有所帮助:geneticcoder.blogspot.com/2015/05/…