Laravel Enum: Чистый, структурированный и удобный для разработчиков Теперь Laravel поддерживает нативные классы Enum со встроенными функциями кастинга, меток и генерации через Artisan. Это отличный способ избавиться от "магических" строк и чисел в моделях и формах. 🔧 Создание Enum через Artisan: php artisan make:enum UserRole 📁 Создастся файл: app/Enums/UserRole.php 📦 Пример класса Enum: namespace App\Enums; enum UserRole: string { case Admin = 'admin'; case Manager = 'manager'; case Customer = 'customer'; public function label(): string { return match($this) { self::Admin => 'Администратор', self::Manager => 'Менеджер', self::Customer => 'Клиент', }; } public static function options(): array { return array_map( fn($role) => ['value' => $role->value, 'label' => $role->label()], self::cases() ); } } ✅ Как использовать: 📌 Приведение типов в модели: protected $casts = [ 'role' => UserRole::class, ]; 📌 Работа с Enum: $user->role = UserRole::Admin; echo $user->role->label
Laravel Enum: Чистый, структурированный и удобный для разработчиков
14 мая 202514 мая 2025
2
1 мин