在项目开发中,经常会用到各种状态码。
比如,有如下场景:
开发一个项目管理系统,项目有多种类型,分别使用1,2,3,4,5,6表示六种项目类型。
如果在各个需要使用项目状态的文件中,单独使用1,2,3,4,5,6不免会让人混乱,且当项目类型变更时,需要挨个文件进行修改。

a.php

if ( $projectType == 1 ) {
    //...
} else if ( $projectType == 2 ) {
    //...
}

b.php

if ( $projectType == 3 ) {
    //...
} else if ( $projectType == 4 ) {
    //...
}

解决方法

将项目类型定义到枚举类中。

枚举类:

/**
 * 项目类型-枚举类
 */
class ProjectTypeEnum 
{
    const BANQIAN       =   1;  //搬迁
    const WEIBAO        =   2;  //维保
    const XIAOSHOU      =   3;  //销售
    const ZHUANSHOU     =   4;  //转售
    const CAIGOU        =   5;  //采购
    const ZULIN         =   6;  //租赁
}

调用方式:

switch ( $projectType ) {
    case ProjectTypeEnum::BANQIAN:                //搬迁
        //...
        break;
    case ProjectTypeEnum::WEIBAO:                //维保
        //...
        break;
    case ProjectTypeEnum::XIAOSHOU:                //销售
        //...
        break;
    case ProjectTypeEnum::ZHUANSHOU:            //转售
        //...
        break;
    case ProjectTypeEnum::CAIGOU:                //采购
        //...
        break;
    case ProjectTypeEnum::ZULIN:
        //...                                    //租赁
        break;
    default:
        break;
}

这样当项目类型所对应的值进行改动,只需要改动枚举类的项目类型值,无需对多个文件进行修改。


如若时光萧瑟去丶
111 声望9 粉丝

weakChickenPeng.