是否可以在使用call_user_func调用它之前将一行代码注入匿名函数体?
例如,假设我想注入这个:
$some_var = 1;
成:
function foo()
{
echo $some_var;
}
成为:
function foo()
{
$some_var = 1;
echo $some_var;
}
我知道您可以将参数传递给call_user_func,但这些参数仅作为索引数组提供。我需要它作为变量。
甚至可以添加"使用"在调用它之前关闭它会起作用......
编辑:
进一步的例子,流行的PHP框架如何设法做到这一点:
Route::group(['domain' => '{subdomain}.domain.com'], function()
{
echo $subdomain;
});
他们神奇地调用这个匿名函数并注入$ subdomain
答案 0 :(得分:0)
你不能,你永远不应该这样做。将有更好的方法来实现您的目标。为了回答一些实际的帮助,我建议你这样做:
function foo($extraAction)
{
switch ($extraAction){
case "action1":
$some_var = 1;
break;
case "action2":
//another action
break;
default:
//do something by default
}
echo $some_var;
}
这是你最接近的。