robusto / enum
PHP 7.0+ 强健枚举库。
2.0
2017-05-26 18:30 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ^5.5
- squizlabs/php_codesniffer: 2.7.1
This package is not auto-updated.
Last update: 2024-09-20 19:31:49 UTC
README
一种在PHP中定义枚举类型强健且简单的方法。
要求
- PHP 7.0+
- DBAL (仅用于使用EnumType)
简单示例:```php class DayWeekEnum extends Enum { const SUNDAY = 1, MONDAY = 2, TUESDAY = 3, WEDNESDAY = 4, THURSDAY = 5, FRIDAY = 6, SATURDAY = 7 ; } ```
使用描述的枚举值示例
class LanguageEnum extends Enum { const JAVA = 1, PHP = 2, PYTHON = 3, RUBY = 4, JS = 5 ; protected static $descriptions = [ 'Java', 'PHP', 'Python', 'Ruby', 'Javascript' ]; }
使用PHP类型提示使用枚举,根据其各自的类型值限制其值
public function setLanguage(LanguageEnum $language) { $this->language = $language; } $language = LanguageEnum::JAVA(); $foo->setLanguage($language);
打印枚举值的描述
public function getLanguage(): LanguageEnum { return $this->language; } $foo->setLanguage(LanguageEnum::JS()); echo $foo->getLanguage(); // Javascript echo LanguageEnum::JS; // 5 echo get_class($foo->getLanguage()); // LanguageEnum