![]() |
1
74
我同意教义。在我看来,这是一个更加活跃的项目,作为symfony的默认ORM,它得到了更好的支持(尽管官方认为ORM是平等的)。 此外,我更喜欢您处理查询的方式(DQL而不是标准):
(教义的实施对我来说更直观)。 另外,我真的更喜欢你在教义中管理关系的方式。 我认为教义文件中的这一页值得一读: http://www.doctrine-project.org/documentation/manual/1_2/en/introduction:doctrine-explained 总而言之:如果我要开始一个新的项目,或者必须在学习教义和推进之间做出选择,我会在任何一天都坚持教义。 |
![]() |
2
39
我有偏见,因为我在下一个版本的推进上提供了一点帮助,但是你必须考虑到推进确实是第一个可用的ORM,然后在创建学说时有点滞后,但现在又有了积极的发展。symfony 1.3/1.4配备了推进1.4,其中大多数比较停止在推进1.3。另外,下一个版本的推进(1.5)将包含很多改进,特别是在创建您的标准(导致您编写的代码更少)方面。 我喜欢推进,因为它看起来不像条令那么复杂:大多数代码在生成的很少的类中,而条令在很多类中分解了功能。我喜欢对我正在使用的图书馆有一个很好的了解(不是太多的“魔法”),但当然,我对推进有更多的经验,所以也许理论在幕后并不那么复杂。有人说推进速度更快,但你应该自己检查一下,并考虑一下这是否超过其他差异。 也许您还应该考虑为不同的框架提供symfony插件。我相信推进在这里有一个优势,但我不知道有多少列出的插件仍然是最新版本的symfony的最新版本。 |
![]() |
3
21
这取决于个人喜好。 我之所以使用推进,是因为(除其他外)我喜欢这样一个事实:每件事都有自己的具体getter&setter方法。在理论上,情况并非如此。 推进:
教条:
我喜欢拥有getter&setter的原因是,如果需要的话,我可以在其中加入各种逻辑。但这只是我个人的喜好。 我还应该补充说,虽然推进在过去是缓慢的,但现在又在积极发展。在过去的几个月里,它发布了几个新版本。最新版本的推进包括 类似于条令的“流畅的查询界面” 如果你不想再使用标准了。 |
![]() |
4
20
应该注意
Doctrine 2
是
我一直在用教义2的alpha版本开发,必须说它是高于教义1的头和肩(只是我的观点,我从未使用过推进)。当教义团体被释放时,很有可能朝着它前进。 我鼓励你去看看教义,但是如果你更喜欢推进和教义现在使用的主动记录样式,你可能只想坚持推进。 |
![]() |
5
5
这两个参考有点过时,所以你仍然涵盖了一些一般性的内容,基本上你必须评估你在框架方面的经验,因此,原则的一个主要缺点是没有一个能够让你自动编码的IDE,在这个驱动中,你是一个胜利者,学习曲线推进和原则是非常不同的,它更容易pRopel,如果你的项目需要管理复杂的数据模型使用原则,如果你想快速使用一个文档记录最好的ORM,并在推进互联网使用中找到更多的支持,它会更加成熟,我相信大多数使用。 |
![]() |
6
5
我建议使用推进1.6,这对IDE的自动完成功能更好。 |
![]() |
7
2
我不是php 5非框架ORM的用户,但这里有一些很好的比较文章(如果您还没有看到它们的话): http://codeutopia.net/blog/2009/05/16/doctrine-vs-propel-2009-update/ http://trac.symfony-project.org/wiki/ComparingPropelAndDoctrine 这两个结论都倾向于将信条作为symfony的新一代ORM。 |
![]() |
8
2
在使用这两种方法很多年之后,我更喜欢使用推进2而不是仅仅基于如何构建查询逻辑的学说。信条是尽可能深入的,并且管理它的许多方面与深度水平相匹配。推进我觉得有一个更流动和对象驱动的方式来构建和管理查询交互。 对我来说,这导致了模型中的代码减少,围绕如何处理逻辑产生了更多的结构。这导致了将许多交互构建为通用功能。(毕竟,对数据库所做的90%的操作只是某种程度上的CRUD操作。) 最后,两者都是强大的、可管理的,并将完成工作。我的个人项目和兴趣使用推进ORM2和未来的项目,如果仍然用PHP编写,将走这条路。 在过去的3-4年里,我每天都在使用这两种方法。 |
![]() |
9
1
我建议使用 DbFinder Plugin .这实际上是一个非常强大的插件,它支持这两种功能,并且非常强大。实际上,我更喜欢使用它。 |
![]() |
10
-3
如果我没有错的话,两个表单都使用基于XML的模式,并且创建这些模式定义相当麻烦。如果您需要一个基于PHP的、风格流畅的简单模式。你可以试试Lazyrecord https://github.com/c9s/LazyRecord 它支持自动迁移和升级/降级脚本生成器。所有类文件都是静态生成的,不需要运行时开销。 |
|
SliceOfLife · 推进一次保存调用,而不是每行一次 10 年前 |
![]() |
WJR · Propel ORM-遍历find()中的数据不会提示getter 11 年前 |
![]() |
nielsv · 从2个表中选择数据+推进 12 年前 |
![]() |
nielsv · 无法访问新命名空间中的模型 12 年前 |
![]() |
azzy81 · 推进ORM自引用外键 12 年前 |