Что такое constructor property promotion?
Constructor property promotion или продвижение свойств конструктора — это удобный синтаксический сахар, появившийся в языке программирования PHP версии 8.0. Эта возможность кардинально меняет подход к написанию кода инициализации классов.
Традиционный подход к созданию классов требовал отдельного объявления свойств на уровне класса, а затем их ручного присвоения внутри метода конструктора через аргументы. Пример современного синтаксиса выглядит следующим образом: паблик функция конструктор с параметром паблик стринг с именем.
Главным достоинством этого нововведения является то, что оно позволяет объединить объявление свойств класса и их автоматическое присвоение прямо в сигнатуре метода конструктора. Теперь нет необходимости дублировать названия переменных и типы данных по несколько раз.
Использование данной возможности позволяет существенно уменьшить количество шаблонного или так называемого boilerplate кода. Ваши классы становятся более лаконичными, компактными и читаемыми, особенно если класс содержит большое количество простых полей для хранения данных.
Новый синтаксис полностью совместим со всеми стандартными модификаторами доступа, такими как public, protected или private, а также позволяет комбинировать их с типами данных и другими атрибутами, делая процесс разработки на PHP более современным и продуктивным.