Durum geçiş kontrol

0 Cevap php

Bana bir değişiklik olabilir hangi durum seçenekleri belirlemek için olanak sağlayan basit bir fonksiyon oluşturduk. Örneğin 'Bekliyor' bir durum sadece 'Reddedildi' ve 'kaldırıldı', 'Etkin' olarak değiştirilebilir.

Benim sınıfta ben site genelinde karşılaştırma amaçlı bir durum sütununda gerekli rekor başvuru sabitler olarak bu depolar.

Benim 'geçiş' dizisi aşağıdaki vardır: -

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()
);

Bu yaklaşımın görüşleri nelerdir? Bir dizi sabitleri eklemek için çok iyi bir fikir gibi görünmüyor.

Bir durum isteği yerine getirilebilir olmadığını kontrol etmek için, ben değişiklik geçerli olup olmadığını belirlemek için bana izin veren () statusTransitions için mevcut durumu tipi Kimliği geçmektedir.

public static function statusTransitions($statusTypeId) {
 return self::$allowedTransitions[$statusTypeId];
}

0 Cevap