меня интересует следующий момент, я могу вызвать метод сразу после создания экземпляра класса таким образом:
(new Class)->method()
никак не могу найти подробное описание такого способа, чем плох, чем хорош? И почему, мы сначала вызываем метод, а только потом создаем экземпляр? или создание экземпляра в скобках по другому интерпретируется? Благодарю за ответ.
Ответ на английском на StackOverflow.
Запрашиваемая вами функция доступна в PHP 5.4. Вот список новых функций в PHP 5.4: https://www.php.net/manual/ru/migration54.new-features.php И соответствующая часть из списка новых функций: Добавлена возможность получения доступа к члену класса при создании экземпляра. Например: (new Foo)->bar().
От себя могу только добавить, что такая нотация используется когда нас не интересует сам объект, а требуется только вызвать его метод. В (new Class)
мы создаем экземпяр объекта, как обычно. А поскольку нас интересует только результат выполнения метода, мы вызываем метод этого объекта ->method()
.
Пример использования:
$formattedDate = (new DateTime($timestamp, new DateTimeZone('Europe/Moscow')))
->format('d/m/Y H:i:s');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
уже второй день голову ломаю как решить данную проблемуПоиск к сожалению ничего не дает (может ищу неправильно)