假设我有一个匿名函数:
$func = function() { return true; }
我想(动态)从变量"return true;"
获取字符串$func
。
答案 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)
不,你不能。解析代码并且不存在字符串表示。