我不知道你所说意思“处理方法的最终存及其它们各自的变量调用”,但你可能是call_user_func_array
后:
call_user_func_array(
array($myArray[0], $myArray[1]),
array($myArray[2])
);
如果你想这样做对于您使用$controller = new $myArray(0)
创建的具体实例,请将$myArray[0]
替换为$controller
,例如
$controller = new $myArray(0);
call_user_func_array(
array($controller, $myArray[1]),
array($myArray[2])
);
或通过new $myArray[0]
如果你不有关实例护理呼叫
call_user_func_array(
array(new $myArray[0], $myArray[1]),
array($myArray[2])
);
后丢失否则,你会得到一个E_STRICT
通知,并在任何myMethod
是不能引用$this
。另请参阅PHP manual on possible callback formats。
为了验证方法和类的实际存在,你可以使用
例子:
if (method_exists($myArray[0], $myArray[1])) {
call_user_func_array(*/ … */)
}
请澄清你的疑问句如果还有其他意思的话。 On a sidenote, this was probably answered before,但由于我不确定问题是什么,我也不确定选择哪一个。
用静态方法才会有效,否则你需要的类 – 2010-12-11 15:18:55
@kemp不是真正的实例,倒是澄清。我认为这就是你的意思。 – Gordon 2010-12-11 15:19:19
你说得对,我的不好 – 2010-12-11 15:20:51