SuperAPI AI 工具集

laravel-enums

编程与开发

查看项目

更新于 10-16 06:23

技能介绍

Laravel Enums 是一份面向 Laravel 项目的枚举使用指南,核心是提供类型安全、取值有限的枚举集合。资料要求始终使用 backed enums(string 或 int 类型),并给出了 declare(strict_types=1) 的 PHP 示例结构。

主要能力与用法:

  1. 定义枚举:如 OrderStatus: string,包含 Pending、Processing、Completed、Cancelled 等 case。

  2. 通过 trait 扩展功能:示例使用 Henzeb\Enumhancer 的 Comparison、Dropdown 等 concern,并展示自定义 HasLabel trait。

  3. 标签与 UI 属性:通过自定义 Attribute(Label、Color、Icon)为枚举 case 添加展示信息,提供 getLabel()、labels()、dropdown() 等方法,用于下拉选项和界面展示。

  4. 业务逻辑封装:枚举内可定义方法,如 processingFee(int $amount) 与 supportsRefunds(),用 match 表达式根据枚举值返回结果。

  5. 集成方式:在 Model 的 casts() 中映射枚举字段;在 DTO 构造函数中声明枚举类型属性;在 Validation 中使用 Illuminate\Validation\Rules\Enum 规则校验枚举值。

  6. 常见模式:is() 比较、match 表达式生成状态消息、队列枚举 Queue 结合 onQueue() 使用。

适用场景:简单状态字段、固定选项集合、需要类型安全和业务逻辑封装的字段。限制:资料未提供安装命令、价格或性能数据;对于复杂状态迁移与副作用,指南建议改用 State Machines 而非枚举。完整介绍与示例见 https://www.skills.sh/leeovery/claude-laravel/laravel-enums。