学说中确切使用1.2版本和2.0版本


Doctrine where exact use 1.2 version and 2.0 Version?

原则1.2和2.0的区别是什么,如何在它们之间进行选择

原则2

  • 是推荐版本
  • 随symfony 2.0一起发布
  • 比1.2
  • 没有魔法方法
  • 使用实体管理器(如datamapper)
  • 组件松散耦合
  • 需要PHP 5.3(使用命名空间)
  • 相对新项目

1.2学说

  • 更容易学习
  • 适用于php <5.3
  • 自带symfony 1.3/1.4
  • magic methods (ActiveRecord like)
  • 成熟且经过测试的项目
  • 少输入

2.0学说

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

1.2学说

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

总而言之,教条2.0有一个更陡峭的学习曲线,即使它性能更好(巧妙地使用事务)。我发现ActiveRecord持久模型和魔法方法相当笨拙,所以我将使用2.0,但这是我的个人意见,原则1.2仍然非常好(特别是对于2.0可能会过度的小项目)

参见

Doctrine 2.0准备好使用了吗?

Datamapper vs ActiveRecord