就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果你觉得这个问题可以改进并可能重新打开,visit the help center 寻求指导。




9年前关闭。




我正在用 Symfony2 开始一个新项目,但我不确定要选择哪个 ORM。我听说过 Doctrine2 的一些不好的地方,尤其是在继承和 DQL 方面。 Propel 似乎死而复生,但另一方面,无法保证它会永远持续下去。

你有什么建议吗?

最佳答案

我可以告诉你,Propel 是最适合与 Symfony2 一起使用的 ORM。它工作正常,没有计划停止对它的事件。 Propel2 项目正在变得比 Propel 1.6.x(它真的很棒)更好。

不要犹豫使用 Propel,包括 Sensio Labs 在内的许多用户都在使用它!

这是 Symfony2 的 Propel 文档:http://www.propelorm.org/documentation/#working_with_symfony2

注意:Stack Exchange 上有一个相关主题:https://softwareengineering.stackexchange.com/questions/48760/should-i-choose-doctrine-2-or-propel-1-5-1-6-and-why/117078#117078

我忘记了一些要点:

  • 行为是 Propel 的一部分,Doctrine2 中没有提供。这意味着 Propel 正式支持他们并提供支持/改进。不确定教义。
  • 推进真的很快。我同意 Doctrine2 在大量插入方面比 Propel 更好。
  • Propel 已经有 10 年的历史了,稳定并且被很多人使用。
  • 没有另一种可以使用 Propel 学习的语言。
  • 由于流畅的 API,Propel2 确实是面向对象的。
  • Doctrine2 ORM 与 ODM 不共享相同的 API,因此您可以将 Propel 与 D2 ODM 一起使用,例如 D2 ORM 和 ODM,这里没有优点。
  • Propel 为特定平台使用代码生成,因此它针对您的需求进行了优化,并且由于运行时和生成器部件而快速。

  • 我喜欢 Doctrine2 中的一些观点:
  • 注释。
  • 整个代码,因为它是最近的。

  • 问题不在于 Doctrine DBAL,而是更多关于 Doctrine ORM。 Propel2 正在改进整个 Propel 1.6.x 代码。

    哦,我使用 Doctrine2 很长时间了 ;)

    关于orm - Symfony2 使用哪个 ORM?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7979646/

    10-13 08:56