【问题标题】:How to extend the "album" model to return other objects from the database?如何扩展“专辑”模型以从数据库中返回其他对象?
【发布时间】:2015-08-04 01:42:46
【问题描述】:

ZF2 用户指南解释了如何set up and query the database using the Table Data Gateway pattern

我想知道用另一个表扩展这个设计的最佳方法是什么,比如说“轨道”。

很容易复制使用 serviceManager 的现有方法来创建新的 tableGateway 和轨道表对象,并使用控制器获取特定专辑的曲目。但是那样做感觉不对。

我正在考虑使用返回此特定专辑曲目的方法来扩展专辑模型。但要这样做,我必须在专辑模型中使用轨道 tableGateway - 我不知道如何设置它。

在模型中使用 serviceManager 来访问轨道网关和对象似乎是错误的。还是我以某种方式将它们注入到对象中?

做这种事情的首选方法是什么?

【问题讨论】:

    标签: php zend-framework2 zend-db


    【解决方案1】:

    当你说“那样做感觉不对”时,你应该停止思考解决方案和问题的原因。您的问题可能是您对自己的问题了解不够,无法选择解决方案。

    当您进行软件设计时,您不应该要求自己做出任意的设计选择。相反,您必须确定您的关键要求并选择满足这些要求的最简单的解决方案。

    在这里,我建议您坚持最简单的解决方案:拥有完全不同的 tableGateway 和业务对象,根本不链接到相册业务对象。

    但是由于您使用的是 ZF2 指南,因此您显然想了解有关 ZF2 的更多信息。这是您的设计要求之一,因此我建议您使用 ZF2 工具以多种不同方式解决您的问题。 您可以使用服务管理器工厂和抽象工厂,构建另一个模块,使用不同的存储等。

    【讨论】:

      猜你喜欢
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-28
      • 2013-01-24
      • 1970-01-01
      • 2021-07-21
      • 1970-01-01
      相关资源
      最近更新 更多