simondeeley / enum
PHP 简单的 ENUM 对象
v1.1.2
2017-12-04 17:26 UTC
Requires
- php: ~7.1
- simondeeley/type: ~1.0
README
这是一个简单的库,用于将 ENUM 类型对象添加到任何现有的或新的 PHP 项目中。
需求
- PHP >= 7.1
安装
composer require simondeeley/enum
用法
使用您自己选择的枚举类型创建一个新的 Enum 类
use simondeeley\enum; class MyAwesomeEnum extends Enum { const FOO = 'FOO'; const BAR = 'BAR'; }
现在您可以在代码中使用您新设计的枚举对象。每次您想要使用枚举时,只需简单地实例化一个新的 MyAwesomeEnum
。类定义中定义的常量决定了枚举对象可以接受的值。您可以根据设计需求添加尽可能多的常量。
每次创建枚举对象的实例时,都需要传递一个值给它。如果传递给构造函数的值不是预先确定的值之一,则将抛出 InvalidArgumentException
异常。
use Acme\MyAwesomeEnum; $good = new MyAwesomeEnum('FOO'); $bad = new MyAwesomeEnum('BAZ'); // throws an exception
示例
此软件包提供两个用于即插即用的枚举,分别是 Boolean
和 Weekday
。第一个,Boolean
利用枚举来表示 true 或 false,而第二个是周日的列表。
use simondeeley\Enums\Boolean; use simondeeley\Enums\Weekday; $true = new Boolean('TRUE'); $true->getValue(); // returns (bool) true $tuesday = new Weekday('TUESDAY'); $tuesday->getValue(); // returns (string) "Tuesday"
尽管在构建枚举对象时不是强制性的,但 Boolean
和 Weekday
每个都提供快捷的静态方法来快速创建新对象,例如
$true = Boolean::true(); $saturday = Weekday::Saturday();
此功能是任何扩展基本 Enum
类型对象的枚举的内置功能。唯一的限制是,在执行静态方法调用时,最好遵循 PHP 良好的编码实践,并确保所有常量都使用大写。