小编The*_*gle的帖子

Zend Db(标准或表格网关)与Zend 2中的Doctrine - 优点/缺点

Zend DB(标准方式或表格网关)与Zend 2中的Doctrine 2.有些人可能会说它是苹果与橙色的比较,但我会说因为它们是替代品(我们在两者之间使用)因此可以进行比较(因为要求并不总是水晶明确).

当我启动Zend 2,因为文档,书籍,教程都是基于Zend DB或Table Gateway,我使用它但是我不满意我们必须处理2,3或更多表连接(多个表网关适配器)的方式我转向Doctrine ORM(也读了很多说"教条对大项目有益").我已经在symfony项目中使用了doctrine,所以并不困难,但我也不喜欢实体中的学说,比如实体之间的复杂连接(额外的工作),特别是与Zend DB相比,缓慢和额外的内存.

现在我真的很困惑,我该怎么办?那么你们有什么建议呢?

从我的分析:

表网关

优点

  • 轻量级(保持简单)
  • 原生于Zend(现在更好地支持以及将来更新)
  • 更多文档书籍
  • 更好的社区或用户支持(正如许多人正在努力的那样)
  • 关闭数据库表(我很擅长SQL.感觉很好)
  • 更灵活
  • 更容易使用其他学说本机功能,如ACL

缺点:

  • 表连接(更复杂)
  • 在某些情况下的原始
  • 处理多个表网关实例很困难.

教义

优点

  • 更多类 - 松散耦合 - 更好的控制
  • 带来使用ORM的所有优势
  • 已有很多关于学说本身(教程 - 文档)的工作,大部分时间都在工作
  • 减少对数据库的依赖
  • 缓存(但也可以使用Zend DB Table Gateway)

缺点:

  • 对于中型项目,内存更多,速度更慢(与Zend DB Table Gateway相比)
  • 增加复杂性(额外文件+配置+自己的约定)
  • 对于中型项目来说有时候会有些过分
  • 在实体或复杂连接之间的多对多关系中进行更多工作
  • 额外的工作YAML-Schema
  • Zend + Doctrine上的教程 - 书籍 - 用户支持较少

还有其他人?( 对彼此而言)

那么,鉴于这些,你建议哪一个?使用我可以扩展的通用CMS.

或者为什么Zend DB不能/不应该用于大型项目?

我在这里找到了一些讨论但不是根据其优缺点分析.

php zend-framework doctrine-orm zend-framework2

6
推荐指数
1
解决办法
2241
查看次数