1
在PHP的限制,我可以这样做:PHP:可变的变量
$class = 'Notes';
echo $class::message();
但似乎从一个方法中,我不能做到这一点:
echo ($this->myClass)::message();
,也做不到这个:
echo someFunctionThatReturnsClassName()::message();
有人可以解释为什么吗?并给出一些关于何时以及如何使用这种间接机制的规则?
谢谢 吉迪
好赶上,想知道这一个。 – karim79 2011-01-06 14:40:17
谢谢,这很好地回答我的第二个例子,不是我的第一个例子 – shealtiel 2011-01-06 14:44:54
好吧,因为你理论上的第一个例子是相同的:通过添加括号(),你告诉PHP解释器执行那部分代码然后调用一个静态方法。哪个会失败。如果你做$ temp =($ this-> myClass); $ temp :: message(),它会像魅力一样工作。 – maartenba 2011-01-06 14:48:31