fakis/yii2-enum

通用字典解决方案

Maintainers

Details

gitee.com/fakis/yii2-enum

Installs: 44

Dependents: 0

Suggesters: 0

Security: 0

Type:yii2-extension

0.1.0 2020-11-17 03:54 UTC

This package is not auto-updated.

Last update: 2024-05-14 20:18:23 UTC


README

通用字典解决方案

安装

通过 composer 安装此扩展

php composer.phar require --prefer-dist fakis/yii2-enum "*"

或者在composer.json文件的require部分填上

"fakis/yii2-enum": "*"

使用

此特性适合应用在任何对象上

use fakis\enum\EnumTrait;

class User
{
    use EnumTrait;
    
    const STATUS_ACTIVATED = 1;
    const STATUS_INACTIVATED = 2;
    
    const GENDER_MALE = 'male';
    const GENDER_FEMALE = 'female';
    
    public static function enums()
    {
        return [
            'status' => [
                self::STATUS_ACTIVATED => Yii::t('app', '已激活'),
                self::STATUS_INACTIVATED => Yii::t('app', '未激活'),
            ],
            'gender' => [
                self::GENDER_MALE => Yii::t('app', '男'),
                self::GENDER_FEMALE => Yii::t('app', '女'),
            ],
        ];
    }
}

API

// 取得status的字典列表(标签为值)
User::getEnumsByLabel('status');
// return [1 => '已激活', 2 => '未激活'];

// 取得gender的字典列表(索引为值)
User::getEnumsByIndex('gender');
// return ['男' => 'male', '女' => 'female'];

// 取得gender的属性标签
User::getEnumLabel('gender', User::GENDER_MALE);
// return '男';

// 取得status的属性索引
User::getEnumIndex('status', '未激活');
// return 2;