Вопрос проверяет знание сокращённого синтаксиса объявления свойств класса через конструктор в PHP 8, а также понимание его плюсов и ограничений.
Короткий ответ
Promotion-свойства в PHP 8 позволяют объявлять и инициализировать свойства класса прямо в списке аргументов конструктора, без дублирования кода. Вместо того чтобы отдельно объявлять свойства и присваивать им значения в теле конструктора, достаточно указать модификатор видимости в параметре. Это уменьшает "шум" в коде и делает класс компактнее и нагляднее. Однако так можно объявлять только нестатические свойства, и такой синтаксис иногда хуже подходит для сложной логики инициализации. Также он не работает с параметрами без модификаторов видимости или с теми, где нужно сложное присваивание.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.