peltonsolutions / laravel-enums
为Laravel模型处理枚举值的自定义包。
1.1.0
2024-03-14 16:11 UTC
Requires
- php: ^8.2
- laravel/framework: ^11.0
Requires (Dev)
- pestphp/pest: ^2.33
- pestphp/pest-plugin-laravel: ^2.2
README
laravel-enums 是 Pelton Solutions 开发的一个包,允许 Laravel 开发者轻松处理枚举值。枚举(简称“枚举”)代表代码中的命名常量集。通过引入枚举,此包显著提高了代码的可读性和可维护性。
此外,您可以选择使枚举字段为可空。要使用此功能,只需让您的枚举类扩展 NullableEnum
类。
示例
class ContentPageStatus extends \PeltonSolutions\LaravelEnums\Models\Enum { const DRAFT = 'draft'; const SCHEDULED = 'scheduled'; const PUBLISHED = 'published'; const ARCHIVED = 'archived'; public static function map(): array { return [ static::DRAFT => trans('content_page.statuses.draft'), static::SCHEDULED => trans('content_page.statuses.scheduled'), static::PUBLISHED => trans('content_page.statuses.published'), static::ARCHIVED => trans('content_page.statuses.archived'), ]; } }
class ContentPage extends Model { protected $casts = [ 'status' => ContentPageStatus::class ]; }
以下示例演示了您如何在 Laravel 模型中使用枚举。 ContentPageStatus
是一个枚举,表示 ContentPage
可能具有的可能状态值。 ContentPage
模型包含对此枚举的转换,这使输入验证更加健壮,并明确声明了可能的 'status' 值。如果尝试设置不在指定枚举中的值,包会抛出 \PeltonSolutions\LaravelEnums\Models\Exceptions\InvalidEnumValueException
异常。
安装
您可以使用以下命令通过 composer 安装此包
composer require peltonsolutions/laravel-enums
测试
为确保 laravel-enums 运行正常,您可以使用以下命令运行包的测试
composer test
安全
如果您发现任何与安全相关的问题,请通过电子邮件 security@peltonsolutions.com 而不是使用问题跟踪器。
鸣谢
许可证
laravel-enums 是开源软件。它根据 MIT 许可证 许可,这是一种许可协议,允许软件的使用、修改和共享。