![](/img/trans.png)
[英]Zend Framework ORM-style table data gateway vs. extending Zend_Db_Table_Abstract
[英]Zend Db (standard or table gateway) vs Doctrine in Zend 2 - Pros/Cons
Zend 2中的Zend DB(标准方法或表网关)与Doctrine的比较。有些人可能会说这是苹果与橙子的比较,但我要说,因为它们是替代品(我们在两者之间使用一个),因此可以进行比较(因为要求并不总是很明确)明确)。
自从文档,书籍,教程基于Zend DB或Table Gateway开始我启动Zend 2时,我就使用了它,但是当我们必须处理2个,3个或更多表联接(多个表网关适配器)时,我对这种方式不满意。我改用了教义ORM(也读了很多话说“教义对大型项目有好处”)。 我已经在symfony项目中使用了学说,所以并不困难,但是我也不喜欢这种学说,例如实体之间的复杂连接(额外的工作),尤其是与Zend DB相比,速度慢和额外的内存。
现在我真的很困惑该怎么办? 你们有什么建议?
根据我的分析:
还有其他吗? ( 对彼此而言)
那么,鉴于这些,您建议哪一个? 我可以扩展的通用CMS。
还是为什么Zend DB无法/不应在较大的项目中使用?
我在这里找到了一些讨论,但没有根据它的优缺点进行分析。
我做了相反的事情。 我删除了Doctrine 2并切换到Zend DB 2,这使我们的查询性能提高了5倍,然后我们可以自定义Zend DB表网关的某些部分,从而使查询性能提高了5倍(几乎是本地性能)。
我想说的是,如果您拥有大量数据集,请不要使用“学说”。 记住,学说消耗了大量资源。
多年后我改用了学说,如果可以使其与Zend
兼容,我认为它比Zend_Db
。 Doctrine可以migrate
您的数据库,这意味着您可以只用一个命令就可以migrate
客户数据库更新到最新版本。 另一个好处是您的entities
可以在多个DBMS
实现,例如mysql
, mssql
, mangodb
和...
为了获得更高的兼容性,您可以使用拉曼框架 (此框架在Zend 1.12中添加了一些功能)
如果以下内容对您很重要,那么我绝对要使用Zend / Db / *
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.