Doctrine1和Doctrine2有哪些区别?

10
我刚开始学习Doctrine,注意到官方文档指向1.2版本,因为这似乎是当前稳定版本。
我还注意到很多人似乎提到Doctrine 2与Doctrine 1相比有天壤之别,但当查看What's new页面时,我并没有真正看到详细的变更日志。我猜想,这个列表只显示了与以前的2.x版本相比的最新添加内容。我原本期望在谷歌搜索同样的问题后能找到一个不错的差异概述,但我没能找到。
我目前正在阅读Doctrine 1手册,并会在读完后做同样的事情来学习Doctrine 2,但我真的很希望有一份关于重大变化的适当概述,所以我的问题是: Doctrine1和Doctrine2之间有什么区别?

3
Doctrine2使用更易读的类名方式。 - mario
2个回答

12

嗯... Doctrine1和Doctrine2采用完全不同的方法,因此它们是无法比较的。

  1. Doctrine1实现ActiveRecord设计,而D2实现DataMapper设计-这是最重要的区别。
  2. D2需要PHP 5.3或更新版本,并使用其优点,如命名空间。
  3. D2分为一组较小的子项目:Doctrine Commons、Doctrine DBAL、Doctrine ORM(用于关系型数据库)和Doctrine ODM(用于MongoDB)。
  4. D2速度更快。
  5. D2支持注释。

尽管D2还不稳定,但它是未来的方向,因此不要浪费时间学习D1。


3
D2是稳定的。已发布了一个发行候选版,最终版本将在圣诞节前发布。 - beberlei
我也同意beberlei的观点,D2非常稳定。我使用它自从Beta版本以来就没有遇到任何问题。这是一个非常棒的产品,如果你确实遇到了问题,支持很容易获得。 - jsuggs

5

看看这个演示文稿(以及其他相关的演示文稿),非常棒!点此查看


重要的部分出现在第31张幻灯片附近,演示文稿非常不错。 - Incognito

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接