コールバック関数でクラスメソッドを使う

PHP: 本ドキュメントにおける疑似的な型および変数 – Manual

配列で渡しますよ、と。

$obj = new MyClass();
call_user_func(array($obj, ‘myCallbackMethod’));

やりたかったのは静的クラスメソッドを渡す方法なのです。

call_user_func(array(‘MyClass’, ‘myCallbackMethod’));

クラス名を文字列として渡せばよいのですね。
ちなみに、同じクラスから呼び出すなら

call_user_func(array(‘self’, ‘myCallbackMethod’));

でも大丈夫です。
マニュアルの投稿を見ると、

$callback array(‘parent’, ‘method’);

こんなのもいけるみたいです。ふむふむ。

タイトルとURLをコピーしました