Вызов метода при инициализации класса в PHP 7

Помню, в Java возможны такие конструкции:

public SomeClass someClass = new SomeClass().foo().bar();

Есть ли подобное в PHP 7.x и подойдет ли для этого конструкция вида:

public $someClass = (new SomeClass())->foo();

Или есть другие решения?

Зачем нужно:

Стоит задача - создавать запрос к БД как класс Query, который при инициализации получает значения типа запроса, таблицу(ы) и столбцы. Для запросов SELECT возможно задание параметров GROUP\ORDER, которые предполагается добавлять через отдельные функции. Хотелось бы, чтобы код инициализации экземпляра, отвечающего за запрос SELECT с параметрами GROUP\ORDER выглядел аналогично коду на Java, приведенному в начале вопроса.


Ответы (1 шт):

Автор решения: Alexander Chernin

Надо в соответствующих методах вернуть ссылку на самого себя при помощи return $this:

class SomeClass {
    function __construct() {
        //...
    }
    
    function foo() {
        //some work
        return $this;
    }   

    function bar() {
        //some work
        return $this;
    }

}

$someClass = (new SomeClass())->foo()->bar();
→ Ссылка