我将所有调用都传递给主映射函数
然后它应该根据字符串动态调用其他函数(直到这一部分,事情很简单)
问题是我想将参数传递给第二个函数,这些参数可能会有所不同.
给出以下内容(不应更改):
function test1($x){
echo $x;
}
function test2($x, $y){
echo $x * $y;
}
现在是映射功能
function mapping ($str){
switch ($str){
case 'name1':
$fn_name = 'test1';
$var = 5;
break;
case 'name2':
$fn_name = 'test2';
$var = 5;
break;
}
$this->{$fn_name}($var);
}
然后这将运行映射:
$this->mapping('name1');
$this->mapping('name2'); // This one will crash as it need two variables
当然,上述内容被简化为关注问题而不是代码的目的.
问题是当函数有多个参数时(很容易发生).
我希望有一个开关盒,并根据如何填充案例参数,行
$这 – > {$fn_name}($变种);应该管用.
知道函数(test1,test2)结构不能改变,你能告诉或给我一些想法吗?我不能突然开始使用func_get_args()或func_get_arg()