fakis / yii2-enum
通用字典解决方案
0.1.0
2020-11-17 03:54 UTC
Requires
- php: >=5.6.0
- yiisoft/yii2: ~2.0.0
This package is not auto-updated.
Last update: 2025-04-30 00:42:52 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;