Я хотел бы сразу вызвать магический метод (__call()
) на вновь построенном объекте. Пример:Непосредственный метод вызова из одной строки на новый объект PHP
class Foo {
public function __call($method,$args) {
echo "You were looking for the method $method.\n";
}
}
Ideal (но получает ошибку синтаксического анализа):
$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 имеет рабочий ответ. –