【问题标题】:Why should I use Doctrine over Zend_Db?为什么我应该使用 Doctrine 而不是 Zend_Db?
【发布时间】:2010-08-14 11:13:56
【问题描述】:
我在某个项目中使用 Zend_Db,我发现 Doctrine 有一段时间但从未真正使用过。
Doctrine 与 Zend_Db 相比有什么优势?使用 Doctrine 有什么好处?
顺便问一下,Doctrine 和 Zend Framework 1.10.7 一起使用方便吗?与其他组件集成和使用?因为它似乎不存在 Doctrine Adapter
谢谢
【问题讨论】:
标签:
zend-framework
doctrine
zend-db
【解决方案1】:
Doctrine 是一个 ORM。它旨在将丰富的域对象模型持久保存到数据库中,并允许有效查询,同时将结果作为对象进行维护。 Zend_Db 包含表和行数据网关设计模式的实现,它为查询单个表和操作其行提供了一个简单的方案。这使得 Zend_Db 成为 Doctrine 的一个小表亲,后者更加强大和有用,同时也更加复杂和资源密集。如果您有一个具有大量相互关系的丰富领域模型,Doctrine 是您管理所有复杂性的解决方案。对于简单表上的简单 CRUD,请务必使用 Zend_Db。
您不需要 Doctrine 的适配器,只需使用它即可。 Zend Framework 中的几个类很容易与 Zend_Db 集成——例如基于数据库行存在的验证——并且您必须编写自己的等价物。这需要一些工作,但这不是一项复杂的任务,您也许可以在网上找到一些现成的实现。