tekvn/php-enum

为您提供的枚举工具。

1.2.0 2024-08-07 03:59 UTC

This package is auto-updated.

Last update: 2024-09-07 04:13:11 UTC


README

Build Status Total Downloads Latest Stable Version License

您是否曾经处理过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可以变得更酷,请提出您的想法。我们始终欢迎。

捐赠

我非常高兴您愿意捐赠。这将是我创造更多有趣事物的巨大动力。非常感谢。

Donate QR Mono