Model sınıfından ve yapılanma için XML kullanımı

2 Cevap php

I am currently working on a little application: The structure follows in some way the MVC pattern. For short it has the basic things, Models, Controllers etc.

Şimdi burada oturuyorum olup olmadığını bilmiyorum:


1.

"Biz bir getName() yöntem gerekir böylece Hey biz name kaydı var": SQL veritabanı sadece yöntemlerle bir modeli tarafından yönetilen programcı gibi onu verir.

OR

2.

Modeli dinamik bir XML dosyası kullanılarak, tüm veritabanını ve yöntemleri oluşturur, hatta olmayan bir programcı bir veritabanı tasarımı hangi ile.

Ve model sınıf geçerli bir talep, örneğin olup olmadığını her / bir tek isteği kontrol etmelisiniz getName() houses_tbl çalışmaz ve bu geçerli değil eğer sorgu yapmaz, ve bunun yerine bir hata mesajı geri gönderir?


Ben o çalışmak istediği gibi çalışır böylece programcı yeni bir model koymak olmalıdır ne kadar takip etmeli yapısı benim modeli sınıfı, nasıl işleneceğini kesinlikle hiçbir fikrim yok.


Major points:

  • perfomance (hangi yol en perfomance kaydeder)
  • KISS (yeterince basit olan yolu, yani ikinci bir takım arkadaşı benim mantık anlayabiliyorum)
  • extendability (Ben yapıyı uzatabilirsiniz)

2 Cevap

Bu kontrol Data Source Architectural Patterns, Table Data Gateway, Row Data Gateway, Active Record, Data Mapper. PHP bu desenlerin için kod örnekleri için, kontrol edebilir Zend_DB_*.

Hangi alinmali deseni uygulamaya bağlıdır. Eğer basit bir CRUD uygulaması yapıyorsanız, siz Satır Veri Ağ Geçidi kullanmak isteyebilirsiniz. Eğer bir sürü bir uygulama bina varsa business logic from a certain domain, büyük olasılıkla farklı bir bulacaktır.

Sadece MVC M sadece Kalıcılık katman olmadığını hatırlıyorum. Modeli uygulamasının kalbidir. Denetleyici ve Görünümü, uygulama için sadece bir sonu vardır. Bundan başka Rob Allen ve Matthew Weier O'Phinney ile okuma.

Senin büyük noktaları gelince, ben sadece genel teamüllerine sadık öneririz. Senin kod UnitTest, anlamlı kod yazmak ve bunu belgelemek, kompozisyon, kapsül vb ayrı kaygılar, bir arayüz, Refactor karşı kodu, üzerinde toplanmasını lehine

Neden statically veritabanından gelişimi sırasında vb nesneleri oluşturmak. yani bazı Nesne-İlişkisel-Haritalama?

Eğer veritabanı şeması (diyelim ki) sizin Person nesne oluşturmak bu şekilde. Bir getName() erişimciyi oluşturur ve kodun geri kalanı buna karşı derler. Eğer kaldırırsanız / üretilen kod değişiklikleri ardından, adı alanını yeniden adlandırın ve dolayısıyla malzeme derleme yapmaz. Erken bu hataları yakalamak keder bir çok kazandıracak.

This question bazı PHP / ORM seçenekleri ayrıntıları. Ben onlar ne istediğini tamamen eğer görmek için bu kontrol ettik itiraf, ama umarım onlar doğru yönde işaret etmelidir.