枚举转换
枚举转换提供了强大且灵活的枚举处理机制,支持多种枚举类型和转换场景。
支持
tryFrom()和cases()方法的枚举类型输入时自动将字符串转换为枚举实例
输出时自动将枚举转换为字符串(枚举名称)
提供灵活且安全的枚举处理机制
普通枚举
enum UserRole {
case ADMIN;
case EDITOR;
case VIEWER;
}
class ComplexUser extends Serialize {
public UserRole $role;
// 支持多种枚举类型
public UserStatus|UserRole $mixedStatus;
}
$complexUser = ComplexUser::from([
'role' => 'ADMIN', // 自动转换为 UserRole::ADMIN
'mixedStatus' => 'ACTIVE' // 可以是 UserStatus 或 UserRole
]);
echo $complexUser->role; // 返回 UserRole枚举实例
$complexUserArray = $complexUser->toArray();
// $complexUserArray 的内容:
// [
// 'role' => 'ADMIN',
// 'mixedStatus' => 'ACTIVE'
// ]回退枚举
最后更新于