0

PHPにオブジェクト(私の場合はCakePHPモデル)があり、子オブジェクトがあります。の構造$this->Model1->Model2

上記の構文がオブジェクトを参照する正しい方法であることは承知していますが、Model2別のプロセスを介しての名前を取得した場合、それは文字列変数です。次のように、この変数を使用して参照するにはどうすればよいですか。

$model_name = 'Model2';
$this->Model1[ $model_name ]->run_function();

オブジェクト/クラスを選択するこの配列スタイルは明らかに機能しませんが、使用する必要がある同様のメソッドはありますか?それとも、この問題をまとめて引き起こさない、より良いコーディング手法はありますか?

4

2 に答える 2

3

これをお探しですか?

$property = 'myProperty';
$object->{$property};
于 2012-11-28T10:25:28.550 に答える
1

このようにしてください:

$this->Model1->$model_name->run_function();
于 2012-11-28T10:27:46.120 に答える