Symfony1 推动或教条;对于Symfony 1.4,哪一个更好
我有CodeIgniter和Cake PHP的现场项目经验。然而,现在我需要在一个巨大的项目,这两个都是不合适的工作。我几乎决定使用symfony 1.4(根据我客户的要求,2.0不是一个选项) 在Symfony 1.4中,我也对ORM的选择感到困惑:条令还是推进?我浏览了几个链接。目前发现的最好的是 然而,所有这些比较似乎至少有两年的历史,而且从那时起,世界肯定会发生很大变化。我对编码风格没有任何问题;我对所有的活动记录、标准、DQL或任何东西都很满意。对我来说,性能比最终的编码风格更重要。我主要关心处理大量数据时的性能,可能是集群数据库下多个表中的数百万行。不幸的是,目前我的经验不足以独立决定这件事 有人能解释一下Symfony 1.4下推进/条令的性能吗?除了性能,在选择PHP ORM时是否还有其他值得注意的因素(除了编码风格)需要注意;dr:我很长一段时间都在使用教义,如果我必须开始新的工作,我会选择推进 这是一个几乎没有好答案的常见问题。但我会告诉你我的观点 我从第一个alpha(以及旧的symfony 0.63)开始就一直在使用学说。我们选择条令而不是推进,因为条令支持PDO(这是PHP本机的),而推进仍在运行(这不是本机的)。与PDO相比,克里奥尔语的速度非常慢(当然) 最近,教义又增添了一种魔力。我的意思是,你可以调用Symfony1 推动或教条;对于Symfony 1.4,哪一个更好,symfony1,doctrine,symfony-1.4,propel,Symfony1,Doctrine,Symfony 1.4,Propel,我有CodeIgniter和Cake PHP的现场项目经验。然而,现在我需要在一个巨大的项目,这两个都是不合适的工作。我几乎决定使用symfony 1.4(根据我客户的要求,2.0不是一个选项) 在Symfony 1.4中,我也对ORM的选择感到困惑:条令还是推进?我浏览了几个链接。目前发现的最好的是 然而,所有这些比较似乎至少有两年的历史,而且从那时起,世界肯定会发生很大变化。我对编码风格没有任何问题;我对所有的活动记录、标准、DQL或任何东西都很满意。对我来说,性能比最终的编码风格更重要。
getField
,findOneByField
,它会返回你想要的东西。这是一件非常伟大的事情,而不是必须建立自己的能手和二传手。魔术在这个时候真的很流行
使用条令编写查询非常简单,而不是使用令人痛苦的标准和来自Propel的标准,后者非常冗长。我真的是教义的粉丝,并建议大家开始使用它而不是推进
然后,从1.3开始切换到PDO,并开始有一个很好的API来编写查询,几乎与Doctrine的方法相同。主要的区别是,推进产生了所有的魔法,而条令是在飞行中建立的。我认为这是最大的区别
这个代码中没有任何魔力。它生成所有getter/setter、join等。。当你建立你的模型时。条令在运行查询时执行所有操作。这对于中小型项目来说是可以的,但它开始变得更大,它将成为一个缓慢的解决方案。它对于调试也很有用,因为您可以在生成的类中找到代码,而不必从一个类跳到另一个类来找到处理这种情况的全局方法
两种ORM都使用行为。我喜欢行为。在理论和实践中,它们是以不同的方式处理的。条令仍然使用它的魔法来处理它们,其中推进从类内的行为生成所有东西(从生成的类中多出一点而不是魔法点)
到目前为止,由于1.2.x分支几乎已经死了,所以条令2(对于SF1.4来说根本不是原生的)并没有真正改变条令(从您提到的线程中给出一个例子)。推进仍然处于活动状态,正如您在上所看到的,非常活跃
我仍在从事教条工作,但几年来我从《推进》中学到了很多东西。我已经建立了一些关于教义的个人项目。从今天起,我改变了主意,如果我必须开始一个新项目,我将使用Propel
几个链接:
- (关于programmers.se)
- 在这个选择上(当然有利于推进)