Zend Db Tablo gerçekten çok basit bir kullanımı durumlarda ötesinde bir ORM değildir. Bu sistemde her tabloya yakından ilişkili olması gerekiyordu. Yani, her tablo için bir Zend_Db_Table sınıf olurdu.
Büyük resmi yönetmek için, sınıfın başka tip gerekir.
So, yes, you are on the right lines with regards to using a kind-of façade.
However, I would not make it inherit from Zend_Db_Table_Abstract because it has a very different set of responsibilities.
Tür-Bir cephesi (Martin Fowler, Enterprise Architecture Of Patterns) gibi - Veri Mapper desen içine bakarak değer olabilir. Tek bir 'Alan İdarenin Türü' başına Eşleştiricisi'ni (mutlaka masa başına biri olarak aynı değildir) ve türleri bir bütün aile için belki başka, ekstra, eşleştiricisini olurdu.
A simple example of the Data Mapper patterns is on Zend Framework's intro pages:
http://framework.zend.com/manual/en/learning.quickstart.create-model.html
Ve bunu uzatmak değil - Application_Model_GuestbookMapper uses Application_Model_DbTable_Guestbook nasıl unutmayın.
Ancak bu oldukça basit bir örnek ve bazen cevaplar daha çok fazla soru ile bırakabilirsiniz.
Modeline bir db harita hakkında öğrenme için iyi bir kaynaktır Scott Ambler kullanıcısının
Online makale: http://www.agiledata.org/essays/mappingObjects.html
That covers the process of dealing with relationships between data-to-data and object-to-object and data-to-object :
http://www.agiledata.org/essays/mappingObjects.html#MappingRelationships
Ayrıca Veri Mapper Pattern değiniyor ve tabloları db sınıf hiyerarşileri haritası nasıl güzel bir açıklama görmek birkaç yerlerden biridir.
Ayrıca Eric Evans, modeli ve veri katmanı arasında oturup cepheleri vardır 'Depoları', kullanımını tarif etti. Veri Mappers ile tam teşekküllü bir ORM yapmak zor görünüyor, bu hızlı bir başlangıç noktası olabilir. Genellikle önemli Domain İdarece (yani Agrega Kök varlıkları, 'üzüm salkımları sapları') başına bir depoyu olurdu.
See more about repositories:
http://books.google.co.uk/books?id=7dlaMs0SECsC&lpg=PP1&dq=Domain-Driven%20Design&pg=PA147#v=onepage&q&f=false
Temelde Deposu vardır, diğerleri arasında bir FindById () sonra kendi cephesinin arkasında üç Zend Db Tablo nesnelerin kullanımını saklanması olabilir yöntemlerini yazın. Sizin modeli hemen 'repo' kullanmaya başlayabilirsiniz. Eğer daha fazla fantezi ORM şeyler eklemek istiyorsanız eğer, bir gün sadece repo Cephe gerisinde takas ve modeli bile bu konuda bilmek zorunda değildir.
Bu üç tablo işletmesi bağımsız bir hayat olduğunu temsil ediyorsa, o zaman onların yaşam döngülerinin her yönetmek sınıfların üç set olması iyi olabilir. Bu durumda, o zaman onların etkileşimlerini yönetmek 'a Service' (Eric Evans'ın Patterns özellikle başka biri) kullanmak istiyorsunuz. Bir hizmet herhangi birine, özel İdareye ile uygun görünmemektedir işlemleri koymak için bir yerdir.
bkz: http://books.google.co.uk/books?id=7dlaMs0SECsC&lpg=PP1&dq=Domain-Driven%20Design&pg=PA106#v=onepage&q=service&f=false
Ana nokta psikolojik Zend Db Tablo hakimiyeti kendinizi ayırmak için - bu sadece küçük bir oyuncu, bir db tablo gösterimi ve çok fazla değildir.