Добавить в корзинуПозвонить
Найти в Дзене

В Laravel предложили стандартизировать PHP-атрибуты

Тейлор Отвелл выступил с инициативой сделать код Laravel более единообразным и современным. В рамках нового PR (Pull Request) предлагается повсеместно внедрить использование PHP 8 атрибутов в качестве основного способа конфигурации вместо свойств класса. Раньше для настройки, например, модели или задачи в очереди, использовались свойства класса (properties). Теперь для этого предлагаются нативные PHP-атрибуты, что делает код чище и современнее. Важно: изменения не ломают обратную совместимость. Старый подход через свойства классов продолжит работать. Атрибуты предлагаются как современная, альтернативная опция. Это предложение — важный шаг к единообразию кодовой базы Laravel и полноценному использованию возможностей PHP 8. Attributes #58578 Заметки разработчика
Оглавление

Тейлор Отвелл выступил с инициативой сделать код Laravel более единообразным и современным. В рамках нового PR (Pull Request) предлагается повсеместно внедрить использование PHP 8 атрибутов в качестве основного способа конфигурации вместо свойств класса.

Что это значит

Раньше для настройки, например, модели или задачи в очереди, использовались свойства класса (properties). Теперь для этого предлагаются нативные PHP-атрибуты, что делает код чище и современнее.

Что можно будет настраивать через атрибуты

  • Eloquent-модели: #[Table('users')], #[PrimaryKey('user_id')], #[Hidden(['password'])]
  • Задачи в очереди (Jobs): #[Connection('redis')], #[Queue('podcasts')], #[Tries(3)]
  • Консольные команды: #[Signature('mail:send {user}')]
  • Form Request, Resources, Factories и другие компоненты.

Важно: изменения не ломают обратную совместимость. Старый подход через свойства классов продолжит работать. Атрибуты предлагаются как современная, альтернативная опция.

Это предложение — важный шаг к единообразию кодовой базы Laravel и полноценному использованию возможностей PHP 8.

Attributes #58578

Заметки разработчика