tekvn / php-enum
为您提供的枚举工具。
1.2.0
2024-08-07 03:59 UTC
Requires
- php: ^8.1
Requires (Dev)
- pestphp/pest: ^2.0|^3.0
- phpstan/phpstan: ^1.0|^2.0
README
您是否曾经处理过PHP中的枚举,并因混乱和不便而感到疲惫?别担心,PHPEnum已经准备好帮助您消除这些烦恼!
我打算用类替换枚举,就像其他包一样,但我认为性能不如原生的枚举,因此诞生了这个包。LOL =)))
如何安装?
安装PHPEnum非常简单,只需使用Composer
composer require tekvn/php-enum
在您的enum文件中,使用trait TekVN\Enum\EnumUtilities
,然后...嗯,一切就绪了
use TekVN\Enum\EnumUtilities; enum Status: int { // Thêm trait này use EnumUtilities; case SUSPEND = 0; case ACTIVE = 1; // ... }
用法
toArray
此方法返回一个数组,其中key是枚举的name,value是枚举的value。有点混乱吗?让我们看看下面的示例
Status::toArray(); // Kết quả: [ 'SUSPEND' => 0, 'ACTIVE' => 1 ];
toJson
toJson方法返回toArray方法json_encode的结果。您还可以传入额外的标志,如果您不想使用默认标志
Status::toJson(); // Kết quả: '{ "SUSPEND": 0, "ACTIVE": 1 }';
getValue
此方法允许您根据输入(枚举名称或枚举)获取枚举值。如果没有找到枚举,则返回null
Status::getValue('SUSPEND'); // Hoặc Status::getValue(Status::SUSPEND); // Kết quả: 0
Status::getValue('NOT_EXISTS'); // Kết quả: null
注意:第二个参数表示如果为null则抛出异常。默认为false
像函数一样
我们还可以通过调用函数来获取枚举实例。函数名被转换为大写形式。
Status::suspend(); Status::active();
很简单吧?让PHPEnum帮助您用最酷的方式解决PHP中枚举的挑战!
约定
命名规范
- 所有字母都大写
- 字母之间用下划线分隔
例如:USER_ACTIVE, USER_SUSPEND, ...
函数命名规范
函数名使用camelCase规则
- 首字母小写
- 字母之间用大写字母分隔
例如:userActive, userSuspend
贡献
如果您觉得PHPEnum可以变得更酷,请提出您的想法。我们始终欢迎。
捐赠
我非常高兴您愿意捐赠。这将是我创造更多有趣事物的巨大动力。非常感谢。