是一种在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