проверка перехода статуса - PullRequest
0 голосов
/ 17 августа 2010

Я создал простую функцию, которая позволяет мне определять, какие параметры состояния могут иметь изменение.Например, статус «Ожидание» может быть изменен только на «Активно», «Отклонено» и «Удалено».

В моем классе я храню их как константы, которые для целей ссылаются на необходимую запись в столбце состояниясравнения по всему сайту.

Мой массив 'transition' имеет следующее: -

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];
}

1 Ответ

0 голосов
/ 17 августа 2010

Я не уверен, почему мнение кого-то другого будет иметь большее значение, чем ваше.Если это работает, и вам это удобно, иди с этим.Могут быть причины, незаметные для нас, «посторонних», почему вы решили сделать это так.(I18N, например, было бы хорошим поводом сделать это так)

Мое мнение таково: делайте то, что работает для вас, если вы не делаете то, что не следует (например, подавляете ошибки в своем кодетак что вам не нужно смотреть на них).Я не вижу ничего плохого в вашем подходе.

...