覚書です。
PHP はコールバック関数という概念があります。よく使われるのは、array_map
のような関数です。この関数は、配列の各要素にコールバック関数を適用します。
第一引数にコールバック関数の名前を文字列として入れてやるわけですが、OOP(オブジェクト指向プログラミング)の場合はこの方法が使えません。クラスインスタンスが $obj だとすると、$obj->func()
のようにする必要があります。インスタンスも含めた形で名前を渡す方法がずっとわからないままでしたが、先日 Koders というソースコード検索エンジンでやり方を見つけることができました。
そのやり方ですが、文字列ではなく配列を使います。
array_map( array( $obj, 'func' ), $array);
PHP4 で動くことを確認しました。
TrackBack URI : http://blog.yoshitomo.org/archives/143/trackback
記事 URI : http://blog.yoshitomo.org/archives/143
注意 トラックバック先へのリンクを本文に含まない場合は、スパムとしてブロックされます。