Каковы различия между Doctrine1 и использует Doctrine2?

Я только начал открывать доктрину и заметил, что официальная документация указывает на 1.2, поскольку это, похоже, текущая стабильная версия.

Я также заметил, что многие люди, похоже, упоминают, что доктрина 2 - это "мир различий" по сравнению с доктриной 1, но при взгляде на новые страница, я действительно не вижу большой лог. Я предполагаю, что этот список показывает только самые новые дополнения по сравнению с предыдущими 2.X построить. Я ожидал найти хороший обыск различий после того, как гуглил этот же вопрос,но я не могу показаться.

в настоящее время я работаю над руководством по Доктрине 1 и сделаю то же самое для доктрины 2, как только закончу его читать, но правильный обзор больших изменений был бы очень признателен, поэтому мой вопрос:

каковы различия между Doctrine1 и использует Doctrine2?

2 ответов


хорошо... 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.


посмотреть в данной презентации (и, возможно, некоторые из связанных других), действительно приятно!