我不知道你所說意思「處理方法的最終存及其它們各自的變量調用」,但你可能是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