PHPのインスタンス メソッド・フィールドを動的に呼び出す


rubyのsendのようにPHPでインスタンスのメソッドやフィールドを呼び出す方法についてまとめてみました。

フィールド(メンバー)

インスタンス->{フィールド名}

で呼び出します。

[PHP]
class Hoge
{
public $foo = “foo”;
}
$hoge = new Hoge();
$field_name = “foo”;
echo $hoge->{$field_name};
[/PHP]

少しトピックと異なりますが、PHPクラスのプロパティについて参考になります:
Dynamic Properties in PHP and StdClass

メソッド

メソッドの場合は以下の関数が用意されています。

それぞれの第一引数はコールバックですが、以下のような配列を渡すことができます。

array( インスタンス, メソッド名 )

[PHP]