承接 jac1800/enums 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jac1800/enums

最新稳定版本:1.0.4

Composer 安装命令:

composer require jac1800/enums

包简介

php8.1 enums tools

关键字:

README 文档

README

下载安装

composer require jac1800/enums

一. 常规枚举

使用方法和php enum官方一样,你只需要引用"EnumCaseGet"和实现"EnumCaseInterface"即可

use Jac1800\Enums\Annotations\EnumCase;
use Jac1800\Enums\Interfaces\EnumCaseInterface;
use Jac1800\Enums\Traits\EnumCaseGet;

enum DemoEnum: int implements EnumCaseInterface {

use EnumCaseGet;

#[EnumCase(desc: '系统错误', name:'SYS_ERR', group: 'sys', ext: ['color' => 'red'])]
case SYSTEM_ERROR = 500;

#[EnumCase(desc: '系统错误2', group: 'sys', ext: ['color' => 'red'])]
case SYSTEM_ERROR2 = 501;

#[EnumCase(desc: '不存在')]
case NOT_FOUND = 404;

}


#### 1. 枚举函数

> 获取枚举注释
>

// 获取枚举注释 \Jac1800\Enums\Demo\DemoEnum::SYSTEM_ERROR->desc(); // 系统错误


> 获取枚举拓展数据
>

// 获取枚举拓展数据 \Jac1800\Enums\Demo\DemoEnum::SYSTEM_ERROR->ext(); // 改数据是上面拓展中的数据: ['color' => 'red']


> 获取枚举拓展数据的某个值
>

// 获取枚举拓展数据的某个值 \Jac1800\Enums\Demo\DemoEnum::SYSTEM_ERROR->ext('color'); // red // 或者 \Jac1800\Enums\Demo\DemoEnum::SYSTEM_ERROR->color(); // red


> 获取枚举分组
>
> 获取到的数据是以枚举名称为键的数组 值为该枚举对象(也代表他支持枚举原有特性), 当然转换成json也就是他的枚举值
>

// 获取枚举分组 获取到的数据是以枚举名称为键的数组 值为该枚举对象, 当然转换成json也就是他的枚举值

\Jac1800\Enums\Demo\DemoEnum::group('sys'); // ['SYSTEM_ERROR' => \Jac1800\Enums\Demo\DemoEnum::SYSTEM_ERROR,'SYSTEM_ERROR2' => \Jac1800\Enums\Demo\DemoEnum::SYSTEM_ERROR2] \Jac1800\Enums\Demo\DemoEnum::group('sys')['SYSTEM_ERROR']->desc() // 系统错误


> 获取枚举别名
>

// 获取枚举别名 \Jac1800\Enums\Demo\DemoEnum::SYSTEM_ERROR->name(); // SYS_ERR


> 将枚举转换为数组
>

// 将枚举转换为数组 \Jac1800\Enums\Demo\DemoEnum::SYSTEM_ERROR->toArray();


### 一. 错误码

> 使用方法
> "ErrorCodePrefix" 定义错误码前缀, 定义错误码前缀和前缀注释
> "ErrorCode" 定义错误码注释
>
> ps: 详细参照 "\Jac1800\Enums\Demo\DemoEnum"
>

use Jac1800\Enums\Annotations\ErrorCode; use Jac1800\Enums\Annotations\ErrorCodePrefix; use Jac1800\Enums\Interfaces\ErrorCodeInterface; use Jac1800\Enums\Traits\GetErrorCode;

[ErrorCodePrefix(10, '系统错误码')]

enum DemoErrorCode: int implements ErrorCodeInterface {

use GetErrorCode;

// 错误码: 10500, 错误信息: 系统错误
#[ErrorCode('系统错误')]
case SYSTEM_ERROR = 500;

}


#### 1. 错误码函数

> 获取错误码
>

// 获取错误码 \Jac1800\Enums\Demo\DemoErrorCode::SYSTEM_ERROR->getCode(); // 10500


> 获取错误码注释
>

// 获取错误码注释 \Jac1800\Enums\Demo\DemoErrorCode::SYSTEM_ERROR->getErrorMsg(); // 系统错误


> 获取错误码前缀
>

// 获取错误码前缀 \Jac1800\Enums\Demo\DemoErrorCode::SYSTEM_ERROR->getPrefixCode(); // 10



> 获取错误码前缀注释
>

// 获取错误码前缀注释 \Jac1800\Enums\Demo\DemoErrorCode::SYSTEM_ERROR->getPrefixDesc(); // 系统错误码


参照包:https://github.com/duncanxia97/enum

统计信息

  • 总下载量: 11
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-12-12