【发布时间】:2011-07-14 04:45:09
【问题描述】:
有没有办法将变量“注入”到闭包的范围内?我想做的是这样的:
$c = function($x){echo $x.$y;};
$y = 'RLY?';
$c = inject_var($c,$y);
$c('O ');
另一种方式可能是这样的:
$c = function($x){echo $x.$y;};
$c = extend_paramlist($c,'y');
$c('O ','RLY?');
我认为Inject code in a PHP closure 是一种方法,但有没有更简单的方法,因为我只想扩展闭包的参数列表,而不是代码。我知道 use(),但我想在定义闭包后“注入”变量,我不想全局。
【问题讨论】:
-
这个问题让我想哭。请说这是为了破解现有的封闭库,而不是尝试实际编写新代码。
-
@pst:他肯定在写新代码。或者代码的原始作者严重脑残,因为他在闭包中使用了变量,而这些变量没有传递给它;)
-
是的,这是尝试实际编写新代码 :-) 我在玩,想检查使用闭包的方法。
标签: php reflection closures