Yani benim co-işçi ile bir çerçeve-vari sistem üzerinde çalışıyorum. Bizim şimdiki meydan iyi durumları uygulamak için nasıl. Çoğu kez, bir durum onunla (bir kullanıcıya görüntülenecek bir tablo satır veya metin için bir renk. Vb) benzersiz veri taşıyacak. Şu anda, tüm bu verileri içeren bir durumları tablo var. "Css_class", bir rekor bu statüye sahiptir zaman, belirtilen CSS sınıfı (bu durumda bir tr içinde) elemanına bağlı: bu tabloda bulunan bir sütundur. Ayrıca, bir başka rekor özel statüye atamak için, bir yabancı anahtar bu veritabanı tablosunda belirtilen (bu durumda, bir kullanıcı özel bir statüye sahiptir. Kullanıcıların tabloda, bir statuses_id yabancı anahtar var So). Bu uygulama iyi çalışıyor, ama bir kaç sorun vardır. İlk olarak, ne bir kayıt, belirli bir durum ise PHP belirli bir eylemi gerçekleştirmek için gerekirse? Biz şimdi bunu yolu bu gibi bir şeydir:
if($user->status==0)
{
//execute some code
}
Durumları değiştirebilirsiniz eğer bu gerçekten iyi çalışmaz. Bir durumu, ve ilişkili kod sonları veya farklı amaçlanan daha davranır ya değiştirin.
Diğer konu, ve bir soru gönderme için ana nedeni tablo sütunu "css_class" içeriyor olmasıdır. Bu çok yönlü ve bize çok hızlı bir şekilde belirli statü stilini değiştirmek sağlar. Ama biz gerçekten bir veritabanı içinde kod koyarak fikrini sevmediğim. Belki bir veritabanında CSS sınıfları olan mutlaka kötü bir şey değil, ama gerçekten yaygın bir uygulama olduğunu bilmiyorum. Herhangi bir fikir?
EDIT:
Ne ben ilk birkaç cevaplar elde ettik MVC framework korumak için benim modeli şeyler dışında bütün görünümü şeyler tutmak gerektiğidir. Benim iddiam ben veritabanından css_class adını tutmak, sonra onu atamak için hangi sınıf karar vermek için görünümde durum id kontrol ediyorum olmasıdır. Ben veritabanında sınıf koyarsanız, ben Modelinde bilgi görüntüleme koyuyorum. Ben veritabanında CSS sınıfları koymak yoksa o zaman ben Görünüm (kendisine ait kimlik denetimi) Model bilgiler koyuyorum. Yani Model yukarı muddying değil, ben ....... yerine görünümü kadar çamurlu