softbucket / enum
PHP 枚举
1.0.7
2020-07-24 18:41 UTC
Requires
- php: >=5.6
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^5
README
最新构建状态:
Github: https://github.com/softbucket/enum
Packagist: https://packagist.org.cn/packages/softbucket/enum
请随时支持我 :D
本包提供的内容
1. 简单
softbucket 实现不需要定义常量。
<?php
use Softbucket\Enum\Enum;
/**
* @method static self AM()
* @method static self PM()
*/
class Meridiem extends Enum
{
}
2. 比较支持 === 和 ==
使用 PHP 的自然比较器。这通过比较对象引用来实现。
Meridiem::one() === Meridiem::one() //true
Meridiem::one() == Meridiem::one() //also true
3. 易于解析
将字符串解析为枚举非常简单。
$AMString = 'AM';
Meridiem::{$AMString}();
4. 辅助实用方法
Enum 对象不包含实用方法。使用 EnumHelper 获取枚举数组。
EnumHelper::allEnums(Meridiem::class);
EnumHelper::serialize($enum);
EnumHelper::unserialize($enumString);
再见
Enum::getName()
Enum::fromName()
Enum::values()
Enum::getConstants()
5. 快速枚举
使用简单的数组缓存。