我创建了一个简单的函数,它允许我确定更改可以具有哪些状态选项。例如,“待定”状态只能更改为“有效”,“已拒绝”和“已移除”。
在我的课程中,我将这些作为常量存储,在状态列中引用必要的记录,以便在整个站点进行比较。
我的'过渡'数组有以下内容: -
protected static $allowedTransitions=array(
Booking::STATUS_ACTIVE=>array(Booking::STATUS_REVOKED),
Booking::STATUS_PENDING=>array(Booking::STATUS_ACTIVE, Booking::STATUS_REJECTED, Booking::STATUS_REVOKED),
Booking::STATUS_REJECTED=>array(Booking::STATUS_ACTIVE, Booking::STATUS_REVOKED),
Booking::STATUS_REVOKED=>array()
);
对此方法有何看法?在数组中添加常量似乎不是一个好主意。
为了检查是否可以满足状态请求,我将当前状态类型Id传递给statusTransitions(),这允许我确定更改是否有效。
public static function statusTransitions($statusTypeId) {
return self::$allowedTransitions[$statusTypeId];
}
答案 0 :(得分:0)
我不确定为什么别人的意见比你的重要。如果这种方法有效并且你对它感到满意,那就去吧。可能有一些原因让我们看不出“外人”为什么你选择这样做。 (例如I18N就是这样做的一个很好的理由)
我的意见是,只要你没有做出你不应该做的事情(比如在你的代码中抑制错误,这样你就不必看它们),那么做什么对你有用。我认为你的方法没有任何问题。