Минусы и плюсы каждого из вариантов работы с объектом?

Какие минусы и плюсы у каждого из вариантов?

Первый
$widgets = new Widgets();
$widgets->headMenu();


Второй
$widgetHeadMenu = (new Widgets)->headMenu();

Третий
call_user_func([new Widgets, "headMenu" ] );
  • Вопрос задан
  • 338 просмотров
Решения вопроса 1
Первый и второй варианты по сути синонимы, только второй является сокращенной записью первого. Его можно использовать, если не нужно передавать параметры в конструктор класса. Если нужно, то лучше использовать таки первый, по соображениям читабельности кода. Разница в быстродействии между ними ничтожна.

Третий вариант не для того, чтобы так вызывать объекты. Он в 95% случаев вообще не требуется разработчику, к тому же в этом случае лишний раз вызывается функция. Для разработки фреймворков \ CMS он более чем полезен, т.к. позволяет оперировать переменными с именами объектов, классов и т.п.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы