首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将代码注入匿名函数

将代码注入匿名函数
EN

Stack Overflow用户
提问于 2016-09-12 01:38:03
回答 1查看 269关注 0票数 0

在使用call_user_func调用匿名函数体之前,是否可以将一行代码插入到匿名函数体中?

例如,假设我想要注入以下内容:

代码语言:javascript
复制
$some_var = 1;

进入:

代码语言:javascript
复制
function foo()
{
    echo $some_var;
}

变成:

代码语言:javascript
复制
function foo()
{
    $some_var = 1;
    echo $some_var;
}

我知道您可以将参数传递给call_user_func,但这些参数只能作为索引数组使用。我需要它作为一个变量。

或者甚至可以在调用闭包之前添加一个"use“到闭包中……

编辑:

进一步的例子,流行的PHP框架是如何做到这一点的:

代码语言:javascript
复制
Route::group(['domain' => '{subdomain}.domain.com'], function()
{
    echo $subdomain;
});

他们神奇地调用这个匿名函数并注入$subdomain

EN

回答 1

Stack Overflow用户

发布于 2016-09-12 01:46:33

你不能,而且你永远也不应该这么做。会有更好的方法来实现你的目标。为了回答一些实际的帮助,我将提出以下建议:

代码语言:javascript
复制
function foo($extraAction)
{
    switch ($extraAction){
       case "action1":
           $some_var = 1;
           break;

        case "action2":
           //another action
           break;

        default:
            //do something by default

     }
    echo $some_var;
}

这是你能得到的最接近的了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39438862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档