putraits / enums
ProjectICKX PHP工具类特性用于枚举
1.0.0
2024-03-07 09:37 UTC
Requires
- php: >=8.1.0
- ext-mbstring: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ~3.21.0
- phpunit/phpunit: ~10.0.0
This package is not auto-updated.
Last update: 2024-09-20 10:29:21 UTC
README
这个库是一个用于更方便处理枚举的特性库。
使用该库的最小PHP版本为8.1.0。
NameFrom特性
通过使用NameFromTrait
,可以轻松地从name
获取到Enum实例
。
此外,从PHP 8.3开始,也可以使用TestSuitBackedEnum::{'Hearts'}
的形式进行访问。
示例
use putraits\enums\traits\NameFrom\NameFromInterface; use putraits\enums\traits\NameFrom\NameFromTrait; enum TestSuitBackedEnum: string implements NameFromInterface { use NameFromTrait; case Hearts = 'H'; case Diamonds = 'D'; case Clubs = 'C'; case Spades = 'S'; } var_dump(TestSuitBackedEnum::tryNameFrom('Hearts')); // enum(TestSuitBackedEnum::Hearts)