hnwの日記

PHP 5.3の無名関数を試してみた

何番煎じかわからないですが、PHP 5.3からは無名関数が実装されたということで、試しに使ってみました。


見なくても何となく使えるようなものだと思いますが、ドキュメントが「PHP: 無名関数 - Manual」にありますので、ざっと目を通した方がいいと思います。


僕は「どうせ無名関数って中身はcreate_functionなんでしょ?」と思っていたんですが、Closureクラスを使って実装されているなんてことも書いてあります。PHPにしてはマトモっぽくて意外に感じました。

コールバック関数としての無名関数

PHPには引数としてコールバック関数を要求する関数がありますが、PHP5.3.0からは無名関数を引数にしても動くようになりました。


無名関数は、普段の関数と同じノリで「function」から書き始めればOKです。関数宣言との違いは関数名を書かない点だけで、引数やタイプヒンティングについては関数宣言と同様に書けるみたいです。

続きを読む