我正在写在PHP构造物,其中解析器determins哪个函数动态调用,有点像这样:使用函数原型动态在PHP
// The definition of what to call
$function_call_spec = array("prototype" => "myFunction",
"parameters" => array("first_par" => "Hello",
"second_par" => "World"));
// Dispatch
$funcPrototype = $function_call_spec["prototype"];
$funcPrototype(); // Here we call function 'myFunction'.
这是所有罚款和花花公子。但现在下一步,传递参数,我不知道是否可能的方式,我想这样做。它永远不会停止惊人的我却什么脚本语言可以做这些天,所以这里有云:
人们可以通过参数来像这样的功能:
// Here we call function 'myFunction' with the array of parameters.
$funcPrototype($function_call_spec["parameters"]);
不过,我要声明“myFunction的”正常有明确的参数等:
function myFunction($first_par, $second_par)
{
}
接下来的问题如下 - 有什么办法参数通过参数数组循环动态简单地传递给函数?
为了澄清,我不想要做这样的:
$funcPrototype($function_call_spec["parameters"]["first_par"],
$function_call_spec["parameters"]["second_par"] );
,因为这需要我的代码以静态知道myFunction的细节,这违背了这个念头。
相反,我会想这样做在某种程度上像这样也许:
// Special magic PHP function which can be used for invoking functions dynamically
InvokeFunction($funcPrototype, $function_call_spec["parameters"]);
然后导致myFunction的调用和阵列中的所有参数被传递给在原型每个单独的参数变量。
欢迎任何评论。
问候。
/R
PS:代码没有在这个岗位已经过测试,错别字等
感谢您的咨询! – sharkin 2008-10-11 12:28:36