3

有人建议在 Zend Framework 中的默认 Zend_Db_Table 上使用像 Doctrine/Propel 这样的外部 ORM 吗?

我认为你的回答对采埃孚社区来说是有价值的。

-开发

4

3 回答 3

4

这取决于您如何设计应用程序。

除了 ActiveRecord,ZF 为PoEAA 中四种数据源架构模式中的三种提供了实现。如果您的模型对象与您的数据库结构非常紧密地映射,那么 ZF 组件对于您的应用程序可能就足够了。

如果您的对象映射到多个表/从多个表聚合,则 ZF DB 类之上的自定义 DataMapper 或完整的 ORM(如 Doctine 或 Propel)可能更适合。只有你可以决定这一点。

于 2010-03-22T21:40:08.890 回答
2

一个成熟的 ORM 还可能提供一些对您有用的额外功能。有些人可能喜欢 Doctrine 中使用的 DQL,有些人可能希望避免手动编写查询来检索对象,并且可能更喜欢流畅的接口,例如即将推出的 Propel 1.5 中的 ModelCriteria Query API。

所以基本上,这一切都取决于您自己的需求,没有适合所有项目的单一“最佳解决方案”。

于 2010-03-26T15:18:34.277 回答
1

我会推荐:

  1. Doctrine 2.0 - 跨平台,易用,性能好,文档好,支持命名空间,功能强大,也许它会成为 ZF 2.0 的一部分
  2. Doctrine 1.2 - 跨平台、易于使用、易于实现、有用的扩展(例如 NestedSet、Taggable、Commentable)、良好的文档、可与 ZF 自动加载器、CLI 工具、YAML、数据夹具一起使用
于 2010-03-22T23:28:32.080 回答