Zend DB(标准方式或表网关)与Zend 2中的Doctrine。 有些人可能会说它是苹果与橙色比较,但我会说因为它们是替代品(我们在两者之间使用一个)所以可以进行比较(因为要求并不总是很清楚)。
当我启动Zend 2以来,因为文档,书籍,教程都是基于Zend DB或Table Gateway,我使用它但我不满意我们必须处理2,3或更多表连接的方式(多表网关)适配器)所以我切换到Doctrine ORM(也读了很多说“教条对大项目有用”)。我已经在symfony项目中使用了doctrine,所以并不困难,但我也不喜欢实体中的学说,比如实体之间的复杂连接(额外的工作),特别是与Zend DB相比,缓慢和额外的内存。
现在我真的很困惑,我该怎么办?那么你们有什么建议呢?
根据我的分析:
还有其他人吗? (对于两者)
所以,鉴于这些,你建议哪一个?使用我可以扩展的通用CMS。
或为什么Zend DB不能/不应该用于大型项目?
我在这里找到了一些讨论但不是根据其优缺点分析。
答案 0 :(得分:2)
我反过来了。我删除了Doctrine 2并切换到Zend DB 2,它将我们的查询提高了5倍,然后我们就能够自定义Zend DB表网关的某些部分,并且我们在查询上获得了5倍的性能(几乎是本机的)。
我想说如果你已经离开有大型数据集,请不要使用Doctrine。记住,学说消耗了大量的资源。
答案 1 :(得分:0)
多年后我已经转向学说,我认为如果你能使它与Zend_Db
兼容,它会比Zend
好。
Doctrine可以migrate
您的数据库,这意味着您可以使用一个命令将客户数据库更新到最新版本。
另一个好处是,您的entities
可以在多个DBMS
中实施,例如mysql
,mssql
,mangodb
和...
为了获得更多兼容性,您可以使用Raman Framework(此框架为Zend 1.12添加一些功能)
答案 2 :(得分:0)
如果以下内容对您很重要,那么我绝对要使用Zend / Db / *