是一種在php中創建函數的方法,該函數使用提供的參數(提供的函數 - 作爲數組)執行提供的函數(作爲參數)。使用提供的參數執行提供的函數的PHP函數
下面是一些代碼:
class Worker
{
public function execute($func, $paramsArr)
{
php_func_executer($func, $paramsArr); //the function that I would like to have
}
}
在其他PHP文件我會做如下:
Class SomeClass
{
public function test($varA, $varB)
{
//do something
}
public function exeText()
{
...
$worker = new Worker();
$worker->execute(test, [$varA, $varB]);
}
}
我知道call_user_func_array
但在這裏我並不想傳遞的名稱函數(如字符串),我想通過函數本身(如上面的代碼所示)
謝謝!
'call_user_func_array'的第一個參數是任何可調用的,所以你可以傳遞一個函數給它,而不只是名字。 – 2014-12-06 17:39:15
即使它不在同一個文件中?第二個參數是一個參數數組? – vlio20 2014-12-06 17:40:26
你應該通過傳遞函數來解釋你的意思嗎?你不想傳遞函數名字符串,那麼你想傳遞什麼 - 數組?用匿名函數變量還是什麼? – 2014-12-06 17:44:38