Laravel 9 здесь, и есть некоторые новые функции, которые мы можем использовать.
Эта серия будет продолжением о фреймворке Laravel версии 9 и в каждой статье мы будем рассматривать новую функцию!
- Episode 1: Laravel 9: Stub Migrations
- Episode 2: Laravel 9: New Designs
- Episode 3: Laravel 9: New Helpers
- Episode 4: Laravel 9: Enums!
- Episode 5: Laravel 9: Full Text Index & SwiftMailer
И да! Наконец, у нас есть официальная поддержка Enums в php 8.1, хотя мы могли бы добавить их в фреймворк Laravel, используя сторонние пакеты, такие как spatie/enums.
Но что такое перечисления в php?
Это просто одноэлементные объекты, и синтаксис для их определения выглядит следующим образом:
К счастью, мы можем сделать так много с Laravel Enums, и в этой статье мы рассмотрим некоторые из наиболее важных применений.
Laravel 9.x имеет возможность набирать подсказку на нашем маршруте - думайте, что это привязка маршрута-модели, но вместо модели у нас есть перечисления! Давайте посмотрим пример:
и в web.php:
С этими кодами Laravel автоматически распознает тип категории, и если мы не пройдем ни один из предопределенных типов, он вернет ответ HTTP 404!
Мы можем использовать enum()
метод в следующем примере для создания столбца с типом перечисления, просто будьте осторожны, выбрав имя собственное, потому что переименование enum
столбца в настоящее время не поддерживается!
Теперь наш дорогой, Красноречивый ORM позволит нам добавить атрибуты к перечислениям PHP. Нам просто нужно использовать $casts
массив свойств в желаемой модели:
И мы можем получить доступ к атрибуту напрямую:
Согласно документам Laravel, почти все известные методы, которые мы используем в коллекциях, также доступны на перечислениях типа: