Доктрина где точно использовать 1.2 версию и 2.0 версию? - PullRequest
4 голосов
/ 26 апреля 2011

В чем разница между Доктриной 1.2 и 2.0, как выбирать между ними.

1 Ответ

11 голосов
/ 27 апреля 2011

Doctrine 2

  • это рекомендуемая версия
  • поставляется с Symfony 2.0
  • быстрее, чем 1.2
  • без магических методов
  • использует диспетчер сущностей (например, datamapper)
  • компоненты слабо связаны
  • требует PHP 5.3 (использует пространства имен)
  • относительно новый проект

Doctrine 1.2

  • проще для изучения
  • работает с php <5.3 </li>
  • поставляется с symfony 1.3 / 1.4
  • магические методы (как ActiveRecord)
  • зрелый и проверенный проект
  • меньше печатать

Doctrine 2.0

$user = new User;
$user->setName('Mr.Right');
$em->persist($user);
$em->flush();

Doctrine 1.2

$user = new User;
$user->setName('Mr.Right');
$user->save();

Подвести итогУ imho Doctrine 2.0 есть более крутая кривая обучения, даже если она работает лучше (умное использование транзакций).Я нахожу модель персистентности ActiveRecord и магические методы довольно неуклюжей, поэтому я пойду с 2.0, но это мое личное мнение, Doctrine 1.2 все еще очень хорош (особенно с небольшими проектами, где 2.0 может быть излишним)

см. также

Doctrine 2.0 готова к использованию?

Datamapper vs ActiveRecord

...