Nasıl iri taneli modeli bir MVC çerçevede olmalıdır?

2 Cevap php

Daha önce sorulan bir kaç soru okuma ve benim için "siyah ve beyaz" soruma cevap birine rastlamadım! Bu tekrarlayan Yani, özür dilemek. Soru soran muhtemelen benzer "Bir parça ipin ne kadar uzun" ama benimle ayı!

Bir kayıt sistemi için, ben gibi fonksiyonları ile bir kullanıcı modeli var:

  • add_user
  • delete_user
  • activate_user

Yukarıdaki kullanıcı modeli bir tablo ile ilgilenir. MySQL veritabanı kullanıcıları tablo.

Ne her bir fonksiyon yok ama bu kaba yeterli olduğunu tahmin edebilirsiniz? Benim modeli gibi çok geniştir yöntemleri içermelidir demek:

  • add_record
  • delete_record
  • update_record

Ben tabloda geçmek ve kaydın benzersiz bir tanımlayıcı silmek için nerede, eklemek veya güncellemek?

Ben CodeIgniter kullanıyorum, ama şeyler saf MVC çerçevesinde nasıl yapılmalıdır ilgileniyorum.

Bu soru çok seçici ise özür dilerim.

Tüm teşekkürler

2 Cevap

Sana "kaba" ile ne demek emin değilim.

": Add_record, delete_record, update_record benim modeli gibi çok geniştir yöntemleri içermelidir"

Kesinlikle değil. Asla. Bu model bir amacı yendi.

"Genel amaçlı" Bu tür şeyler bir veritabanı için budur. Bir modelin noktası belirli bir soruna genel veritabanı adapte etmektir.

Sizin modeli soruna özgü olmalıdır.

"Gibi fonksiyonları ile kullanıcı modeli: add_user, delete_user, activate_user" Bu nokta. Sizin modeli uygulama, sizin sorun alanı, çözümünüzü yansıtır.

Yürürlükte - - Sizin modeli gerekir tek başına. Eğer bir komut satırı uygulaması model veya bir GUI uygulaması veya bir web sayfası sarmak gerekir.

You can guess what each function does but is this coarse enough. I mean should my model contain methods that are much broader such as:

* add_record
* delete_record
* update_record

Where I pass in the table and a unique identifier of the record to delete, add or update?

Eğer zorunlu bir kullanım bütün bir kayıt yapmaz, bir kullanıcı sadece bilgi almak için bir ihtiyaç varsa *_user işlevleri vardır, ancak yalnızca kullanıcı modeline dahil etmek için sadece sağ için, o öyle.

NOT Kullanıcı model - yerine sadece kullanıcının tüm kayıtları almak için bir ihtiyaç varsa *_record işlevleri vardır, ancak kayıt model koymak için, o da doğru.

Burada hatırlanması gereken şey, sadece tek bir modelde bu tüm fonksiyonları dahil etmektir. Basitçe, kullanıcı koymak ve bir rekor olarak aynıdır.