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