
動的に呼べるといろいろ便利なメンバ変数。
それの呼び出し方をいくつかピックアップ。
メンバの呼び出し
まずは静的でない場合のアクセスのしかた。
これは全く問題ないかと。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php class Hoge { public $foo = 'bar'; public function hello() { //普通の呼び出し echo $this->$foo; $hoge = 'foo'; echo $this->$hoge; echo $this->{$hoge}; echo $this->{'hoge'}; // bar // bar // bar // bar } } ?> |
静的メンバ
仕事で静的メンバを動的に呼べると便利だなーと思う部分がありましてね。
動的には呼べないと諦めつつも探してましたら、マニュアルを見れば書いてあるもんですね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php class Hoge { public static $foo = 'bar'; public static function hello() { //普通の呼び出し echo self::$foo; $hoge = 'foo'; echo self::${$hoge}; echo self::$$hoge; // bar // bar // bar } } ?> |
ただ、これはサンプルだからいいけど、 実際のプログラムだとぱっと見でわからないかなー。
あまり多用は避けたほうが良さそうな気がする。