desmart/php-enum

PHP 强类型枚举对象

1.0.0 2021-03-04 07:32 UTC

This package is auto-updated.

Last update: 2024-09-04 15:11:11 UTC


README

Latest version Tests Software License

该软件包为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)。请参阅 许可证文件 获取更多信息。