Zend Framework :: ORM - 学说/推动 Zend_Db_Table
有人建议在 Zend Framework 中使用像 Doctrine/Propel 这样的外部 ORM 来代替默认的 Zend_Db_Table 吗?
我认为您的回答和理由对于整个采埃孚社区都很有价值。
-DevD
do anyone suggest using an external ORM like Doctrine/Propel over the defualt Zend_Db_Table in Zend Framework ?
I think your answers with reasons would be valuable across the ZF community.
-DevD
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这取决于您如何设计应用程序。
除 ActiveRecord 之外,ZF 还为 PoEAA 中的四种数据源架构模式中的三种提供了实现。如果您的模型对象与数据库结构非常接近地映射,那么 ZF 组件可能足以满足您的应用程序的需要。
如果您的对象映射到多个表/从多个表聚合,那么 ZF DB 类之上的自定义 DataMapper 或成熟的 ORM(如 Doctine 或 Propel)可能更适合。只有你可以决定这个。
It depends on how you have designed your application.
With the exception of ActiveRecord, ZF provides implementations for three of the four Data Source Architectural patterns in PoEAA. If your model objects map very closely to your database structure, then the ZF components might be sufficient for your app.
If your objects are mapped to/aggregated from multiple tables, a custom DataMapper on top of the ZF DB classes or a full fledged ORM, like Doctine or Propel might be better suited. Only you can decide this.
成熟的 ORM 还可能提供一些对您有用的额外功能。有些人可能喜欢 Doctrine 中使用的 DQL,其他人可能希望避免手动编写查询来检索对象,并且可能更喜欢流畅的接口,例如即将推出的 Propel 1.5 中的 ModelCriteria Query API。
所以基本上,这完全取决于您自己的需求,没有适合所有项目的单一“最佳解决方案”。
A full fledged ORM might also provide some extra functionality that is useful for you. Some might like DQL as used in Doctrine, others maybe would like to avoid writing queries by hand to retrieve objects, and might prefer fluent interfaces like the ModelCriteria Query API in the upcoming Propel 1.5.
So basically, it all depends on your own needs, there's no single "best solution" that fits all projects.
我会推荐:
I would recommend: