desmart / php-enum
PHP 强类型枚举对象
1.0.0
2021-03-04 07:32 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-04 15:11:11 UTC
README
该软件包为PHP提供强类型枚举。
Enumeration
类名是故意这样使用的,以避免潜在的问题。PHP 8.1 将会有原生的枚举 🎉
还有其他优秀的软件包实现了PHP的枚举功能。请考虑查看它们!
安装
要通过Composer安装该软件包,只需运行以下命令
composer require desmart/php-enum
用法
示例枚举定义
/** * @method static Character good() * @method static Character evil() * @method static Character sometimesGoodSometimesEvil() */ class Character extends Enumeration { const GOOD = 'good'; const EVIL = 'evil'; const SOMETIMES_GOOD_SOMETIMES_EVIL = 'sometimes_good_or_evil'; }
创建枚举对象
$enum = Character::good(); // or Character::fromName('good')
通常,命名构造函数方法名应该是camelCase形式的常量名。
允许一些例外情况。请参阅 测试文件。
基于可用常量值创建枚举对象
$enum = Character::fromValue('sometimes_good_or_evil');
当枚举对象从例如数据库创建时,这种方法非常方便。
比较枚举
Character::good()->equals(Character::fromName('good')); // true Character::good()->equals(Character::evil()); // false Character::good()->equals(OtherEnum::someValue()); // false
变更日志
请参阅 CHANGELOG 了解最近的变化信息。
许可证
MIT许可证(MIT)。请参阅 许可证文件 获取更多信息。