我正在寫在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