php代码中枚举类型解藕

2017-12-27  本文已影响0人  code_nerd

开发中经常遇到一个表的字段,如性别(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
上一篇下一篇

猜你喜欢

热点阅读