[PHP-users 31647] インスタンス前にメンバ関数を変数で呼び出したい

斉藤 m-saitoh @ yamatosokki.co.jp
2007年 3月 9日 (金) 14:28:07 JST


斎藤と申します。
いつもお世話になってます。

クラスのインスタンスを生成する前にメンバ関数を実行したいのですが、
クラス名に変数を使用すると Parse error になってしまいます。
サンプルコードの最後の行をコメントアウトすればエラーは出ません。

このような方法で実行は出来ないのでしょうか?
代替方法があれば教えて頂ければ幸いです。

既出でしたら申し訳ございません。
よろしくお願いいたします。

[環境]
OS :Gentoo Linux
web:Apache2.0.58
php:5.1.6

[サンプルコード]
----------------------------------------------
<?php
class HOGE_C {
    public $hoge = 'public hoge';
    function hoge_m($h) {
        echo 'method hoge_m ' . $h . '<br />';
    }
}
$m = 'hoge_m';
$c = 'HOGE_C';

HOGE_C::hoge_m('1111');
HOGE_C::$m('2222');
$c::hoge_m('3333');
?>
----------------------------------------------

[エラー内容]
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in 
[Filename] on line 13

[期待する結果]
----------------------------------------------
method hoge_m 1111
method hoge_m 2222
method hoge_m 3333
----------------------------------------------

-=-=-=-=-=-=-=-=-=-=-=-=-=-
m-saitoh @ yamatosokki.co.jp



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