2013-10-16 29 views
2

我想知道是否有像動態類和函數調用這樣的事情是可能的?

例如,我有這兩個操作:

$this->foo->value(); 

$this->bar->value(); 

,我想有些稱呼它:

$this->($var)->value(); 

我現在正在做這樣的(但會愛上述方法)

if($var == 'foo') 
    $this->foo->value(); 
else 
    $this->bar->value(); 
+0

解釋PHP以便您可以使用對象而無需先定義它們。 – MahanGM

回答

1

你幾乎已經擁有了它。

$var = 'foo'; 
$this->$var->value(); 

等效於

$this->foo->value(): 

類似地:

$var = 'bar'; 
$this->foo->$var(); 

是相當於;

$this->foo->bar(); 
+1

你在花括號上的位置是? '$ this - > {$ var} - > value();'?我傾向於喜歡它們,因爲它們使得視覺更清晰,方法是一個變量。 –

+0

很酷的感謝,實際上工作..你也知道如果這樣的事情是可能的:$ this - >($ this-> pageClass-> value) - > value(); ? –

+0

哇謝謝cale_b ..那就做了訣竅:D我會贊成你們兩個,但可惜我不能成爲新成員;) –

相關問題