原则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