Doctrine1和Doctrine2有什么区别?

Aro*_*eel 9 php orm doctrine doctrine-orm

我刚刚开始发现Doctrine并注意到官方文档指向1.2,因为这似乎是当前的稳定版本.

我也注意到很多人似乎都提到Doctrine 2与Doctrine 1相比是一个"差异世界",但是在查看What's new页面时,我并没有真正看到广泛的更改日志.我猜这个列表只显示了与之前2.x版本相比的最新增加内容.在谷歌搜索同样的问题之后,我期待找到一个很好的差异综合报道,但我似乎无法理解.

我目前正在阅读Doctrine 1手册,并且一读完就会对Doctrine 2做同样的事情,但是对这些重大变化正确概述将非常感激,所以我的问题是:

Doctrine1和Doctrine2有什么区别?

Cro*_*zin 11

嗯... Doctrine1和Doctrine2完全无法比拟,因为他们意识到完全不同的方法.

  1. Doctrine1实现了ActiveRecord设计,而D2实现了DataMapper设计 - 这是最重要的区别.
  2. D2需要PHP 5.3或更高版本,并使用其名称空间等优点.
  3. D2分为一组较小的子项目:Doctrine Commons,Doctrine DBAL,Doctrine ORM(用于RDBMS)和Doctrine ODM(用于MongoDB).
  4. D2更快.
  5. D2支持注释.

虽然D2仍然不稳定,但它是未来,所以不要浪费时间学习D1.

  • D2稳定.候选版本已经发布,最终版本将在圣诞节前发布. (3认同)

ini*_*all 5

看看这个演示文稿(也许还有一些相关的其他演示文稿),非常好!