try-again-later / multi-backed-enum
一个小型的PHP库,用于创建由多个值支持的枚举。
v0.1.0
2022-06-27 21:46 UTC
Requires
- php: >=8.1.0
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-12 18:15:21 UTC
README
只是一个概念验证,我在用PHP 8属性进行尝试。
一个小型的PHP库,用于创建由多个值支持的枚举。当你有一系列“支持”值(字符串或数字)都标识同一事物时非常有用。
该接口模拟PHP 8.1.0支持的枚举,并添加了allValues()方法,该方法返回所有“支持”值的列表。
安装
通过composer
$ composer require try-again-later/multi-backed-enum
示例
use TryAgainLater\MultiBackedEnum\{MultiBackedEnum, Values, MakeMultiBacked}; #[MultiBackedEnum] enum Status { #[Values('on', 'true', 'yes')] case ON; #[Values('off', 'false', 'no', 'null')] case OFF; use MakeMultiBacked; } // Status::ON $status = Status::tryFrom('true'); // Throws a ValueError $status = Status::from('some bad value'); // 'off' $stringStatus = Status::OFF->value(); // ['on', 'true', 'yes'] $stringStatuses = Status::ON->allValues();