ZSC@LM

ZSC@LM

一切都是最好的安排。。

  • 财富值22980
  • 威望值30
  • 总积分24230

个人信息

  • 2016-02-02 已签到
    连续签到1天,获得了5个金钱
  • 2015-12-31 已签到
    连续签到1天,获得了5个金钱
  • 2015-12-28 已签到
    连续签到1天,获得了5个金钱
  • 2015-11-20 已签到
    连续签到1天,获得了5个金钱
  • 赞了回答
    1. 如果常量数量多、汉字内容需要在线修改或增加的话,一般在数据库中建一个字典表,保存id和字面的映射关系,但平时变化不大可以写到缓存中,从缓存中读取,当内容发生变化时再更新缓存。

    2. 如果常量数量不多、汉字内容也不需要在线调整的话,可以新建一个统一管理id和字面关系的配置文件,比如放在common/config/constants.php里:

    <?php
    return [
        'role' => [
            0 => '管理',
            1 => '用户',
            2 => '客户',
        ],
    ];
    

    然后,在common/config/params.php里增加constants项:

    <?php
    return [
        'constants' => require(__DIR__ . '/constants.php'),
    ];
    

    在Model类(User)里可以增加一个配置索引项与constants中的内容关联:

    const ADMIN = 0; //管理
    const USER = 1; //用户
    const CLIENT = 2; //客户
    
    public static $constantIndex = 'role'; // 与constants.php里的配置组对应
    

    这样,在业务代码中要获取id对应的字面就可以这样:

    $adminRoleLabel = Yii::$app->params['constants'][User::$constantIndex][User::ADMIN];
    

    foreach ($users as $user) {
        $roleLabel = Yii::$app->params['constants'][User::$constantIndex][$user->role];
    }
    
  • 2015-10-28 已签到
    连续签到2天,获得了10个金钱
  • 2015-10-27 已签到
    连续签到1天,获得了5个金钱
  • 2015-10-22 已签到
    连续签到1天,获得了5个金钱
  • 2015-10-16 已签到
    连续签到1天,获得了5个金钱
  • 2015-10-08 已签到
    连续签到1天,获得了5个金钱
副董事长 等级规则
24230/50000
资料完整度
60/100
用户活跃度
0/100

Ta的关注

3

Ta的粉丝

13

Ta的访客

85