Задать вопрос
@Xveeder

Как обратиться к членам класса через конструктор (new Class()->method())?

Доброго времени суток, господа. Кажется, где-то на тостере видел примерно такой код:

auth(new Cookies()->getCookie());

Разумеется, подобная конструкция не работает, хотя, например, подобный вызов можно сделать если вызвать функцию, которая возвращает объект.

И да, такой вариант - не вариант:
auth((new Cookies())->getCookie());

Быть может есть какой-то магический метод?
Спасибо.
  • Вопрос задан
  • 149 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Daria Motorina К ответам на вопрос (4)
glaphire
@glaphire Куратор тега PHP
PHP developer
Это работает только в том случае, если ((new Cookies())->getCookie()) возвращает ровно то, что принимает auth() в качестве аргумента. Такое избегание вызовов статических методов через мгновенное создание экземпляра и вызова метода часто связано с будущими юнит тестами (там статика не приветствуется).
Ответ написан
Комментировать