2
我正在使用反射来动态调用方法。为动态调用方法排序参数数组
$object = new $class;
$reflector = new ReflectionMethod($class, $method);
$reflector->invokeArgs($object, $arguments);
的$arguments
阵列看起来像:
Array
(
[fooparam] => false
[id] => 238133
)
称为可能的方法:
class MyClass
{
public function myMethod ($id, $fooParam)
{
// Whatever
}
}
的问题是,一切都来自前端设计师,根据data-*
属性,href
。 ..所以$arguments
数组有任意排序。
我怎样才能排序这个数组匹配方法参数?
O也许,有没有更好的解决方案?命名参数?
工作!对于像我这样发布'data- *'属性的人来说,这只是一个边缘笔记。如果'$ arguments'键变成小写字母,只要在检查'!isset($ arguments [$ name])'前检查'strtolower($ name)'。我会编辑答案来说明这个问题。谢谢! – albertedevigo