php代码中枚举类型解藕

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

直接上代码

例如sex字段

'男',
        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代码中枚举类型解藕)