PHP 枚举助手
发布日期:作者: Paul Redmond
PHP 8.1 的发布为 PHP 带来了原生 枚举。 archtechx/enums Composer 包构建在原生功能的基础上,旨在使使用枚举更令人愉悦。
使用这些库特性,你可以在任何 PHP 项目中为你的枚举添加以下便利功能:
- **可调用案例** - 通过调用枚举来获取支持枚举的值
- **名称** - 返回枚举中案例名称的列表
- **值** - 返回枚举中案例值的列表
- **选项** - 返回案例名称和值的关联数组
鉴于上述功能,这里有一些来自该包 自述文件 的示例。
首先,以下是 InvokableCases
特性如何工作:
// Invokableuse ArchTech\Enums\InvokableCases; enum TaskStatus: int{ use InvokableCases; case INCOMPLETE = 0; case COMPLETED = 1; case CANCELED = 2;} TaskStatus::INCOMPLETE(); // 0TaskStatus::COMPLETED(); // 1TaskStatus::CANCELED(); // 2
接下来,以下是如何从枚举中获取案例名称:
use ArchTech\Enums\Names; enum TaskStatus: int{ use Names; case INCOMPLETE = 0; case COMPLETED = 1; case CANCELED = 2;} TaskStatus::names();// ['INCOMPLETE', 'COMPLETED', 'CANCELED']
Values
特性可以返回一个可能的枚举值的数组
use ArchTech\Enums\Values; enum TaskStatus: int{ use Values; case INCOMPLETE = 0; case COMPLETED = 1; case CANCELED = 2;} TaskStatus::values(); // [0, 1, 2]
最后,Options
特性返回一个名称和值的关联数组
use ArchTech\Enums\Options; enum TaskStatus: int{ use Options; case INCOMPLETE = 0; case COMPLETED = 1; case CANCELED = 2;} TaskStatus::options();// ['INCOMPLETE' => 0, 'COMPLETED' => 1, 'CANCELED' => 2]
你可以在 GitHub 上了解有关此包的更多信息,获取完整的安装说明并查看 源代码。