[PHP-users 15849]クラスメソッドと可変関数、コールバック(call_user_func)について

=?iso-2022-jp?q?=1B$B=3AdK=1B=28B?= sakamoto @ c-hino.org
2003年 6月 11日 (水) 17:48:53 JST


 坂本といいます。

 クラスメソッドと可変関数ではまってしまっています。
 以下に示すようなコードを書いてみたのですが、エラーが発生してしまいます。

<?php
class hoge {
        function my_func1($func) {
                $func("bohe");
        }
        function my_func_core($str) {
                print("$str<br>\n");
        }
        function my_func_set() {
                $this->my_func1("my_func_core");
        }
}
$obj_hoge = new hoge;
$obj_hoge->my_func_set();
?>

 エラーメッセージは次に示すとおりです。
Fatal error: Call to undefined function: my_func_core() in
/home/c-hino/public_html/in_vitro/test_utils/method.php on line 4

 他にもmy_func_set()内部では
my_func1('$this->my_func_core');
 とか、
my_func1("hoge::my_func_core");
 とか、
my_func1("my_func_core");
 とかいろいろ試したのですが、いずれも前述のような、「関数が未定義です。」
といったエラーになってしまいます。

 set_error_handlerはクラスメソッドを利用できますが、こうした一般的な可変関
数でクラスメソッドを利用するには、どうすればよいのでしょうか。
 宜しくお願いします。

sakamoto @ c-hino.org


PHP-users メーリングリストの案内