2012-11-28 100 views
0

我有一個PHP對象(在我的情況下,CakePHP模型),有子對象,例如。 $this->Model1->Model2的結構。如何通過PHP中的變量引用來選擇對象的子對象?

我知道上述語法是引用對象的正確方法,但是如果我通過另一個進程獲得了名稱Model2,那麼它就是一個字符串變量。我怎麼可以參考使用這個變量它,類似如下:

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

現在清楚地選擇對象/類不起作用的這種陣列式的,但有一個類似的方法,我應該使用?還是有更好的編碼實踐,不會一起導致這個問題?

回答

2

您是否正在尋找?

$property = 'myProperty'; 
$object->{$property}; 
+1

也就是說完全正確!謝謝,我從來沒有見過類似的符號。你太快了我甚至無法正確標記你。 我實際上並沒有意識到這很簡單,剛剛測試時,大括號的相關性是什麼,他們似乎並不需要。 – Rhys

+0

不客氣:) – cem

1

就這樣做:

$this->Model1->$model_name->run_function(); 
相關問題