用途:为 Laravel 项目定义类型安全、取值有限的枚举集合,适用于状态值、固定选项集等场景。
主要能力:始终使用 backed enum(string 或 int);可在枚举上直接添加 label()、color() 等方法,也可将共享行为放入 app/Enums/Concerns/ 下的 trait;通过 match 表达式在枚举内封装业务逻辑,例如手续费计算、是否支持退款;提供 labels() 等静态辅助方法生成选项映射。
使用方式:在 app/Enums/ 目录下定义枚举,如 OrderStatus: string;在模型中通过 casts() 将字段转换为枚举;在 DTO 构造函数中使用枚举类型属性;在验证中使用 Illuminate\Validation\Rules\Enum,例如 new Enum(OrderStatus::class);在队列任务中可用 Queue::Emails->value 指定队列。
适用场景:简单状态字段、无状态转换逻辑、无副作用的固定选项集。若涉及复杂状态转换规则、状态专属行为或转换副作用,应改用状态机。
限制:资料未提供安装命令、版本要求、收费或平台信息;示例代码需按项目实际情况调整。