[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 メーリングリストの案内