PHPでクロージャっぽいものを無理矢理

いぬビームとかamachangPHPにはJavaScriptとかRubyクロージャのようなものがないって嘆いていたから、ちょっと考えてみたよ。

$foo = "foo\n";                                                                                                                        
$bar = "bar\n";                                                                                                                        
                                                                                                                                       
$lambda =<<<EOL                                                                                                                        
  return (\$foo) ? $foo : \$bar;                                                                                                       
EOL;

$fn = create_function('$foo,$bar',$lambda);                                                                                                                                                                                                                      
echo $fn("hoge\n","hage\n");                                                                                                          

かなりキモいけど、どうかな?
ヒアドキュメントと$をエスケープしたりしなかったりが肝かな?


追記
なんかコードハイライトが変!