Doctrine1和Doctrine2有什么区别?

时间:2010-12-09 16:01:03

标签: php orm doctrine doctrine-orm

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

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

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

Doctrine1和Doctrine2之间有什么区别?

2 个答案:

答案 0 :(得分: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支持注释。
  6. 尽管D2仍然不稳定,但未来是不要浪费时间学习D1。

答案 1 :(得分:4)

看看at this presentation(也许还有一些相关的其他人),非常好!