spatie/laravel-enum
Laravel integration for spatie/enum: use Enum base class in Laravel, cast model attributes to enums (including nullable and arrays), and get Laravel-friendly behavior via custom casts and Castable support for Eloquent.
spatie/laravel-enum can encapsulate business logic (e.g., validation rules, database constraints, or API serialization) within the enum itself, improving maintainability.Enum trait or HasEnums).EnumRule).EnumResource).EnumColumn).EnumTranslations).tinyint or string columns).Enum::from() assertions).active/inactive) may add unnecessary complexity. Mitigate by reserving enums for non-trivial domains (e.g., OrderStatus, PaymentMethod).class Status extends Enum instead of const ACTIVE = 'active'). Use database migrations and feature flags to phase this in.app() container).Enum classes (e.g., custom Enum traits). Use fully qualified namespaces to avoid clashes.WHERE status = ?)? If so, test database indexing strategies.EnumTranslations for i18n support.EnumColumn for new fields.spatie/laravel-enum classes in models/validation.EnumResource for type-safe serialization.Spatie\Enum\EnumInterface.spatie/laravel-enum and publish config (if needed).app/Enums/ namespace.EnumColumn for new fields.casts in models.Spatie\Enum\Enum classes.isValid()).app/Exceptions/Handler.php).OrderStatus::PENDING vs. 1).spatie/enum package is battle-tested (used in 100+ projects).Invalid enum value: 'invalid_status').dd($enum->getValue()) to inspect enum states.tinyint for small sets).ENUM type or CHECK constraints) + application validation.OrderStatus::CANCELLED).Spatie\Enum\EnumColumn with strict validation.true/false).How can I help you explore Laravel packages today?