PHP Larave 框架枚举型号配置的设计问题讨论!

2017-05-27 13:12:52 +08:00
 jsrgqinbin

系统开发过程中会出现好多状态类的字段,如:订单分为订单状态,发货状态,支付状态。数据库存放肯定是 0,1,2,3,4 这样来存,为了方便使用会在 Repository 或者 Model 里定义部分常量,如下:

const ORDER_STATUS_CREATE = 0;//初始状态
const ORDER_STATUS_PAIED = 1;//已支付状态

问题来了:

public static function getStatusMap()
{
    return [
        self::ORDER_STATUS_CREATE => trans('xxxx'),
        self::ORDER_STATUS_PAIED => trans('xxxx')
    ];
}
//用以上方法来写,总感觉设计上不妥当,但是不没想到更好的办法

以上问题有大神有好的设计?

3451 次点击
所在节点    PHP
23 条回复
wujunze
2017-05-27 17:55:08 +08:00
楼主可能需要这个 PHP 实现的枚举数据结构 https://github.com/myclabs/php-enum
Fishdrowned
2017-05-27 22:31:17 +08:00
加前缀拼接,然后维护翻译文件,例如
order_status_0 => 待支付 / Pending
order_status_1 => 已支付 / Paid
mingyun
2017-05-28 09:11:38 +08:00
@wujunze 为了这个加载个库没必要吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/364211

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX