PHP で クロージャ

| | コメント(0) | トラックバック(0)



※これ失敗でした。↓にもちょっとマシなやつ書いてます


http://d.hatena.ne.jp/am11op/20070702/1183392610


CakePHP 使ってたら、ものすごく closure 使いたくなった。


ググったら途中までやってる方達がいたので、


それパクって作ってみた。



↓途中までやってる方達


http://blog.xole.net/article.php?id=419


http://p0t.jp/mt/archives/2007/04/1byte.html


要は create_function を使えばよいわけだ。


closure.php



function closure($str) {
$str = ereg_replace("^function\(\) *\{", "", $str);
$str = ereg_replace("\}$", "", $str);


$func =create_function('', $str);
$func();
}

function hoge($str, $func='') {
echo $str;
if ($func) {
closure($func);
}
}

echo hoge('こんにちわ。', "function() {echo 'クロージャだよ!';}");


実行結果



こんにちわ。クロージャだよ!


ものすごく使う気にならないのはなんでだ。


トラックバック(0)

このブログ記事を参照しているブログ一覧: PHP で クロージャ

このブログ記事に対するトラックバックURL: http://pm.11op.net/mt/mt-tb.cgi/58

コメントする