hxm/enum

枚举包,为Laravel提供简单、可扩展且强大的枚举实现。

1.0.4 2022-04-26 04:27 UTC

This package is auto-updated.

Last update: 2024-09-27 05:41:59 UTC


README

简单安装,为Laravel提供简单、可扩展且强大的枚举实现。

  • 枚举键值对作为类常量
  • 获取 铸造
  • 验证 规则 以将枚举值作为输入参数传递

安装

通过Composer

composer require hxm/enum

基本用法

现在,您只需将枚举可能具有的可能值作为常量添加即可。

<?php
namespace App\Enums;

use HXM\Enum\Abstracts\EnumBase;

class ExampleEnums extends EnumBase
{
    const E1 = 1;
    const E2 = 2;

    protected static $descriptions = [
        1 => 'description for E1'
    ];
}
  ExampleEnums::E1; // 1
  
  ExampleEnums::getValueWithDescriptions()->toArray(); // [1 => 'description for E1', 2 => "E2"]
  
  ExampleEnums::getValues()->toArray(); // [1, 2]
  
  ExampleEnums::getDescription(1); // 'description for E1'
  

获取铸造

在模型类中使用

class ExampleClass extends Model
{
  protected $casts = [
          ....
          'attribute' => ExampleEnums::class,
          ...
      ];
}

获取规则

Validator:make($data, [
  'attribute' => ['required', ExampleEnums::getRule()]
]);