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