是否可以从PHP中的匿名函数获取代码?

时间:2010-12-22 18:17:50

标签: php reflection anonymous-function

假设我有一个匿名函数:

$func = function() { return true; }

我想(动态)从变量"return true;"获取字符串$func

2 个答案:

答案 0 :(得分:2)

你可以反映这样的功能:

$test = function() { return true; };

$r = new ReflectionFunction($test);
var_dump($r->getName());

然而,从我在手册中可以看到,PHP的反射API没有提供任何返回函数源的方法。您可以获得函数声明的开始和结束行,结合这种代码样式:

$test = function() {
    return false;
}

让你很容易获得功能的来源。但请记住,这是非常棘手的,因为@Col。 Shrapnel和@ DampeS8N提到:你真的不想这样做

答案 1 :(得分:0)

不,你不能。解析代码并且不存在字符串表示。