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