tebru / enum
PHP简单枚举库
v0.5.0
2017-02-03 19:41 UTC
Requires
- php: >= 5.4
Requires (Dev)
- php: >= 5.5
- phpunit/phpunit: ^4.0
README
枚举
一个简单的PHP库,用于添加对枚举的支持。这比myclabs/php-enum需要更多的工作,但不需要反射。它还强制枚举为单例。
安装
composer require tebru/enum
用法
要使用,扩展AbstractEnum
并实现getConstants()方法。
class DirectionEnum extends AbstractEnum
{
const NORTH = 'north';
const EAST = 'east';
const SOUTH = 'south';
const WEST = 'west';
/**
* Return an array of enum class constants
*
* @return array
*/
public static function getConstants()
{
return [
self::NORTH,
self::EAST,
self::SOUTH,
self::WEST,
];
}
}
现在您可以使用静态方法创建一个新的实例。
DirectionEnum::create('north');
您还可以使用__callStatic
魔术方法创建一个实例。
DirectionEnum::NORTH();
为枚举添加文档块提示
/**
* @method static $this NORTH()
*/
参考
每个枚举都提供了多种方法
create()
[静态] 返回枚举的实例values()
[静态] 所有枚举值的0索引数组exists($value)
[静态] 如果值存在,则返回truetoArray()
[静态] 返回一个哈希表,键和值作为枚举值equals($enum)
执行两个枚举值的严格比较getValue()
返回枚举的当前值__toString()
与getValue()
相同