Zend框架架构使用Data Mapper设计模式

时间:2011-10-03 18:48:47

标签: php oop zend-framework design-patterns datamapper

所以我正在使用Data Mapper设计模式开发应用程序,但是在处理数据库表之间的关系时遇到了一些问题。我不确定,也找不到任何关于如何将我的关系映射到Data Mapper模式的资源。

我应该在我的DbTable类中使用referenceMap和dependentTables定义,还是应该在我需要时使用合成并实例化一个新类?

例如,博客文章及其作者应该是:

$blog->author = findDependentRowset($row)

$author = new Author();
$blog->author = $author->findAuthorById($authorId);

1 个答案:

答案 0 :(得分:0)

在我看来,正如您所指出的,使用referenceMapdependentTables时,在Zend Framework中实现表关系的“数据映射器相关”方式最多。

根据其他因素(性能需求,数据库模型的复杂性......),您可能希望对设计模式不那么严格,并仅为表实现映射,自己实现与关系相关的查询(通过使用Zend_Select和某些$this->getAdapter()->select()提供的JOINs对象。

希望有所帮助,