我为什么要在Zend_Db上使用Doctrine?

时间:2010-08-14 11:13:57

标签: zend-framework doctrine zend-db

我在某个项目中使用Zend_Db,我发现Doctrine有一段时间但从未实际使用它。

Doctrine比Zend_Db有什么优势?使用Doctrine有什么好处?

顺便说一句,使用Zend Framework 1.10.7的Doctrine是否容易?与其他组件集成和使用?因为它似乎不存在Doctrine适配器

谢谢

1 个答案:

答案 0 :(得分:12)

Doctrine是一个ORM。它用于将富域域对象模型持久化到数据库,并允许有效查询,同时将结果保存为对象。 Zend_Db包含表和行数据网关设计模式的实现,它提供了一种查询单个表并操纵其行的简单方案。这使得Zend_Db成为Doctrine的一个较小的表亲,后者更加强大和有用,同时也更加复杂和资源密集。如果您拥有一个具有大量相互关系的丰富域模型,那么Doc​​trine就是您管理所有复杂性的解决方案。对于简单表上的简单CRUD,请务必使用Zend_Db。

您不需要Doctrine的适配器,只需使用它即可。 Zend Framework中的几个类很容易与Zend_Db集成,例如基于数据库行存在的验证 - 你必须自己编写等价物。这需要一些工作,但这不是一项复杂的任务,你可以在网上找到一些现成的实现。