Зачем нужны круглые скобки в цепочке конструкторов?Php

Кемеровские программисты php общаются здесь
Anonymous
Зачем нужны круглые скобки в цепочке конструкторов?

Сообщение Anonymous »

Почему выражения, в которых используется ключевое слово new, нуждаются в круглых скобках, чтобы их можно было использовать в цепочке выполнения? Например, в AS3 скобки не нужны. В PHP это стилистическая помощь интерпретатору или есть более серьезная причина, о которой я не знаю? Это проблема с приоритетом выполнения?

Цепочка конструкторов в PHP

Благодаря этому вопросу. Связывание конструктора с вызовом объектной функции в PHP. Я понял, как…

Определение объекта
Кроме того: очевидно, магический метод __construct всегда неявно возвращает $this, и если вы явно возвращаете $this (или что-нибудь в этом отношении ) ошибок/предупреждений/исключений не возникнет.

class Chihuahua
{
private $food;

function __construct( $food )
{
$this->food = $food;
}

function burp()
{
echo "$this->food burp!";
}
}


Работает

(new Chihuahua('cake'))->burp();


Не работает (но мне бы хотелось)

new Chihuahua('cake')->burp();


Подробнее здесь: https://stackoverflow.com/questions/140 ... r-chaining

Вернуться в «Php»