Senin soru Benim çıkarım bu düşük profilli bir proje olduğunu ve size istediğiniz şekilde inşa edebilirsiniz patron / müşteri / öğretmen yeterli esnekliğe sahip. Unutmayın ki, burada ben bu üzerinde çalışırken düşünmek ne olduğunu.
MVC sizin için yeni bir kavram ise, Test-Driven Development yanı sıra neredeyse kesinlikle ve yabancı biridir. Ancak, bunu yaparken ben ilk OOP gerçek bir anlayış içine kırık, bu yüzden bunu bir deneyin vermek öneririz. Senin modeli sınıflara karşı ilk olarak bazı basit birim testleri yazmak olanlar modeli sınıfları kullanılmış olacak nasıl sergiyi egzersiz yoluyla götürecektir. (Bir TDD saf değilseniz veya nesne grupları) bu nesnelerin her biri harici API ile çalışma olacak ve bu internals tasarımında kılavuz yardımcı olacaktır. Belgeleri de bazı harika örnekleri olduğu gibi, PHPUnit başlarken dikkat edin.
Ben TDD yaklaşım aşağıdaki sonuçlara götürecektir düşünüyorum:
- Muhtemelen değil. Kesinlikle bir şey bir kopyasını gerektiğinde statik veri / yöntem genellikle sadece yararlıdır. Ben belki DB gibi bir kaynak bağlantısı bu nadiren böyledir kenara web uygulamaları bulabilirsiniz.
- Bu fonksiyon, ne bağlıdır. Yerel değişkenleri kullanarak yan etkileri, ya da nesnenin devlet değişiklikleri ima unutmayın. Eğer üzerinde çalışmasına gerek veri tüm nesnenin durumunu değiştirmek gerekiyorsa, bir parametresini kullanın ve bir değer döndürür. Bu yöntemler bu tür test etmek de kolay.
- Yine, onları uygulamada nasıl kullanılacağını göstermek, bu işlevler için yazma testleri, doğru tasarlanmış olup onları da gerek olup olmadığı hakkında bir sonuç, bir yol veya başka götürecektir. Onları değiştirmek için korkmayın.
- Kesinlikle. Başka nasıl en az bir kez kendi uygulama rulo yoksa MVC ile rahat olmak için gidiyorsun? Eğer daha profesyonel bir çerçeveye taşımadan önce Aslında, gerçek deneyime sahip kavramları kavramak için muhtemelen daha iyi. Çerçevenin kavramlar ve kurallar oldukları şekilde neden bu şekilde anlayacaksınız.
Oh, ve bir model sınıf ne buluyoruz netlik eksikliği, muhtemelen çoğu özelleştirilmiş bir uygulamanın parçası olduğunu aslında kaynaklanmaktadır. Bu veri modeli ve etki mantık, bu yüzden bir sürü vaka özgüdür. Iyi kaynak olsa da, IMHO olan mükemmel bir kitap Desenler Enterprise Application Architecture nasıl ve neden bir desen veya başka bir "model" sınıfları belli bir set tasarımı üzerinde ayrıntılı bir sürü gider Martin Fowler, olduğunu. İşte online pattern library - Açıkçası kitap daha ayrıntılı.
Bu biraz yardımcı olur umarım.