В Laravel, который довольно умен, у них есть «вспомогательная» функция «с»:
function with($object){return $object;}
Это не метод, это отдельная функция. Они утверждают, что это как-то связано с цепочкой — компенсирует ли это какой-то странный недостаток синтаксиса PHP, когда вы можете построить объект или выражение в аргументе функции, но не можете применить метод или работать с результатом, пока вы не верни это?
Это то, что я, наконец, начинаю подозревать, когда пишу это, но это так странно, я удивляюсь, что это вообще что-то еще, что я скучаю.
Спасибо — это беспокоило меня годами! Я не понимаю, почему вы должны вернуть объект из функции, чтобы связать его с другой …
Я бы предположил, по большей части, потому что (new Blah)->method()
(Доступ к членам класса при создании экземпляра) не был добавлен до версии PHP 5.4.
Других решений пока нет …