salekur/enum

创建和管理枚举的有效工具。

1.0.2 2024-06-26 06:51 UTC

This package is auto-updated.

Last update: 2024-09-26 07:24:05 UTC


README

一个用于在 Laravel 中创建和管理枚举的健壮且灵活的包。此包简化了枚举类型的创建和管理,提供了一种一致且可扩展的方法来处理选项及其对应的标签。

特性

  • 自动标签生成:从枚举键自动生成可读性强的标签。
  • 自定义标签支持:通过静态 values 方法允许自定义标签。
  • 选项检索:提供方法检索所有选项、特定选项按键以及检查选项的存在。
  • 键和标签提取:轻松从枚举中提取所有键或标签。

安装

要安装此包,请使用 Composer

composer require salekur/enum

用法

扩展 Enum 类并定义每个枚举值的常量以创建新的枚举。可选地,提供一个 values 方法来自定义标签。

namespace Salekur\Enum\Enum;

class UserRole extends Enum {
    const ADMIN = 'admin';
    const EDITOR = 'editor';
    const VIEWER = 'viewer';

    // optional values function
    public static function values(): array {
        return [
            self::ADMIN => 'Administrator',
            self::EDITOR => 'Content Editor',
            self::VIEWER => 'Content Viewer'
        ];
    }
}

检索选项

Enum 类提供了几种方法来检索和与枚举选项交互。这些方法允许您轻松访问所有枚举选项,指定选项标签,检查选项的存在,并提取键和标签。以下是使用 UserRole 枚举的这些方法的示例。

$options = UserRole::options();
// ['admin' => 'Administrator', 'editor' => 'Content Editor', 'viewer' => 'Content Viewer']

$label = UserRole::get('admin');
// 'Administrator'

$exists = UserRole::has('editor');
// true

$keys = UserRole::keys();
// ['admin', 'editor', 'viewer']

$labels = UserRole::labels();
// ['Administrator', 'Content Editor', 'Content Viewer']