承接 zms/enums 相关项目开发

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

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

zms/enums

最新稳定版本:v1.1.0

Composer 安装命令:

composer require zms/enums

包简介

个人程序工具包

README 文档

README

安装

1. 环境要求:>=php8 2. 安装方式:composer require zlf/enums

注解参数

Zlf\Enums\Enums | 参数名称 | 是否必填 | 参数类型 | 参数说明 | | -| - | - | - | | label | 是 | string | 枚举得释义 | | tag | 否 | ?string | 枚举分组,不设置时真个枚举类为同一个分组 | | arg | 否 | array | 额外参数,和枚举数据合并为完整数据 |

使用示例[继承]

<?php
declare(strict_types=1);

use Zms\Enums\Enums;
use Zms\Enums\EnumsBase;

class TestEnums extends EnumsBase
{

    const TAG = [
        'STATUS' => 'status'
    ];

    #[Enums(label: '开启', tag: self::TAG['STATUS'], arg: ['des' => '开启状态', 'color' => '#409eff'])]
    const  STATUS_OPEN = 1;


    #[Enums(label: '关闭', tag: self::TAG['STATUS'], arg: ['des' => '关闭状态', 'color' => '#ff0000'])]
    const STATUS_CLOSE = 0;
}

使用示例[Trait]

<?php
declare(strict_types=1);

use Zms\Enums\EnumsTrait;
use Zms\Enums\Enums;

class TestEnums{
    use EnumsTrait;
  
    const TAG = [
        'STATUS' => 'status'
    ];

    #[Enums(label: '开启', tag: self::TAG['STATUS'], arg: ['des' => '开启状态', 'color' => '#409eff'])]
    const  STATUS_OPEN = 1;


    #[Enums(label: '关闭', tag: self::TAG['STATUS'], arg: ['des' => '关闭状态', 'color' => '#ff0000'])]
    const STATUS_CLOSE = 0;
}


获取全部枚举值

TestEnums::Values(TestEnums::TAG['STATUS'])
Array
(
    [0] => 1
    [1] => 0
)


获取值得枚举属性

TestEnums::Enum(TestEnums::STATUS_OPEN, TestEnums::TAG['STATUS'])
Array
(
    [value] => 1
    [label] => 开启
    [des] => 开启状态
    [color] => #409eff
)

获取枚举释义

TestEnums::Explain(TestEnums::STATUS_OPEN, TestEnums::TAG['STATUS'])
开启

检查值是否是有效枚举值

TestEnums::Exists(TestEnums::STATUS_OPEN, TestEnums::TAG['STATUS'])
true

转为字典数据

TestEnums::ValuesToData(TestEnums::TAG['STATUS'])
Array
(
    [0] => Array
        (
            [value] => 1
            [label] => 开启
        )

    [1] => Array
        (
            [value] => 0
            [label] => 关闭
        )

)

获取枚举全部释义

TestEnums::Labels(TestEnums::TAG['STATUS'])
Array
(
    [0] => 开启
    [1] => 关闭
)

获取完整枚举内容

TestEnums::Datas(TestEnums::TAG['STATUS'])
Array
(
    [0] => Array
        (
            [value] => 1
            [label] => 开启
            [des] => 开启状态
            [color] => #409eff
        )

    [1] => Array
        (
            [value] => 0
            [label] => 关闭
            [des] => 关闭状态
            [color] => #ff0000
        )

)

获取枚举键值对数据

TestEnums::Map(TestEnums::TAG['STATUS'])
Array
(
    [1] => 开启
    [0] => 关闭
)

通过label获取value

要求:版本大于等于v1.0.1

TestEnums::LabelByValue('开启', TestEnums::TAG['STATUS'])
1

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-03-13