美文网首页
php代码中枚举类型解藕

php代码中枚举类型解藕

作者: code_nerd | 来源:发表于2017-12-27 15:57 被阅读0次

    开发中经常遇到一个表的字段,如性别(1代表男,2代表女)这种情况

    直接上代码

    例如sex字段

    <?php
    //根据表对应的class 定义字段对应值
    class People{
        const MALE=1;//修改对应值的话,只需修改这里即可
        const FEMALE=2;
        //根据对应属性生成数组
        public static $sexMap=[
            self::MALE=>'男',
            self::FEMALE=>'女'
        ];
    }
    
    //用于获取对应的字段属性
    class Map{
        public static function __callStatic($method, $arguments)
        {
            $class=$arguments[0];//获取类
            $attribute=$method.'Map';//根据方法名改成对应数组
            return $class::${$attribute};
        }
    }
    
    //用于获取属性数组
    $a=Map::sex(People::class);
    var_dump($a);
    //array (size=2)
    //1 => string '男' (length=3)
    //  2 => string '女' (length=3)
    
    //获取单个
    echo People::MALE;
    // 1
    

    相关文章

      网友评论

          本文标题:php代码中枚举类型解藕

          本文链接:https://www.haomeiwen.com/subject/vcpugxtx.html