2013-10-16 28 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我会赞成你们两个,但可惜我不能成为新成员;) –

相关问题