有沒有辦法將一個變量注入到閉包的範圍中?我想要做的是這樣的事情:將變量注入現有閉包範圍的方法?
$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是一種方法,但有我只是想一個簡單的方法擴展閉包的參數列表,而不是代碼。我知道使用(),但我想在注入閉包之後「注入」變量,我不想全局。
這個問題讓我想哭泣。請說這是爲了破解現有的封閉庫,而不是嘗試實際編寫新代碼。 – 2011-03-12 20:12:45
@pst:他肯定是在寫新代碼。或者原代碼的作者是嚴重的braindamaged,因爲他在封閉中使用變量,而不是傳遞給它;) – NikiC 2011-03-12 20:27:21
是的,這是一個嘗試實際編寫新的代碼:-)我玩耍,想要檢查使用閉包的方法。 – nonsenz 2011-03-12 20:28:23