我想立即在新構建的對象上調用魔術方法(__call()
)。例如:對新PHP對象的即時1行魔術方法調用
class Foo {
public function __call($method,$args) {
echo "You were looking for the method $method.\n";
}
}
理想(但得到解析錯誤):
$foo = new Foo()->bar(); // Fails :(
工作:
$foo = new Foo();
$foo = $foo->bar();
這可能嗎?我知道PHP 5.4帶來了即時的1行對象方法調用(http://docs.php.net/manual/en/migration54.new-features.php),所以我不知道爲什麼這不起作用。
是否希望'$ foo'的值是'Foo'類的新實例或方法'bar'的返回結果? –
來自方法「bar」的結果。 @ complex857有一個工作答案。 –