Вызов функции непосредственно после конструктора: new Object () -> callFunction ()

Как вы могли видеть в названии, мой фон программирования – Java. В Java вы можете делать такие вещи, как это

new Object().callSomeMethod(); 

без присвоения созданного объекта переменной, очень полезному и понятному кодированию, если вам нужен только этот объект один раз.

Теперь в PHP я пытаюсь сделать то же самое

 new Object()->callSomeMethod(); 

но здесь я получаю «Ошибка анализа: синтаксическая ошибка, неожиданная» -> «(T_OBJECT_OPERATOR)».

Есть ли способ сделать это в PHP?

Solutions Collecting From Web of "Вызов функции непосредственно после конструктора: new Object () -> callFunction ()"

 (new Object())->callSomeMethod(); 

будет работать в PHP 5.4+

РЕДАКТИРОВАТЬ

Это новая функция, добавленная на PHP 5.4:

Добавлен доступ члена класса к экземпляру, например (new Foo)->bar() .

EDIT2

PHP-функция RFC предлагает два набора синтаксиса (с и без скобок), оба из них реализованы в RFC, но только один был отправлен. Я не мог найти ссылки, объясняющие решение.

Давайте рассмотрим примеры синтаксиса без привязки в RFC:

  • new foo->bar() следует читать как (new foo)->bar()
  • new $foo()->bar следует читать как (new $foo())->bar
  • new $bar->y()->x следует читать как (new ($bar->y)())->x

Я думаю, что безрежимный синтаксис не отправляется, потому что его предлагаемый приоритет синтаксического анализа не очень интуитивно понятен (трудно следить за глазами), как показано в третьем примере.