sunkan/enum

1.6.0 2024-02-20 14:58 UTC

This package is auto-updated.

Last update: 2024-09-20 16:07:28 UTC


README

Build Status

安装

composer require sunkan/enum

声明

use Sunkan\Enum\Enum;

/**
 * Action enum
 */
class Action extends Enum
{
    private const VIEW = 'view';
    private const EDIT = 'edit';
}

使用

$action = Action::fromValue('view');

// or
$action = Action::VIEW();

如您所见,静态方法被自动实现,以提供对枚举值的快速访问。

使用枚举类的一个优点是可以对枚举值进行类型提示

function setAction(Action $action) {
    // ...
}

文档

  • __toString() 您可以 echo $myValue,它将显示枚举值(常量的值)
  • getValue() 返回枚举的当前值
  • getKey() 返回枚举当前值的键
  • is() 测试枚举实例是否相等(如果枚举值相等则返回 true,否则返回 false

静态方法

  • fromValue() 命名构造函数检查该值是否存在于枚举中
  • toArray() 方法返回所有可能的值作为数组(键为常量名称,值为常量值)
  • keys() 返回 Enum 类中所有常量的名称(键)
  • values() 返回所有 Enum 常量的 Enum 类实例(键为常量名称,值为 Enum 实例)
  • isValid() 检查测试的值是否在枚举集中有效
  • isValidKey() 检查测试的键是否在枚举集中有效
  • search() 返回搜索值的键