0

我按照这个例子http://framework.zend.com/manual/2.2/en/user-guide/database-and-models.html创建了一个模型和一种将它保存到数据库的方法。

但我不喜欢AlubumTable在我的控制器中使用 -class 的想法,因为我认为这会产生太多的依赖关系。我只想将save(),fetchAll()等方法添加到我的模型中,这样我就不必关心如何将模型保存在控制器中。

如果我想更改模型的存储方式,例如从数据库到 REST 服务,我将不得不重写我获取或存储模型的控制器的每个部分,而不是仅仅更改模型中的save()等方法。

有没有适合我的教程,或者这只是一个愚蠢的想法?:)

4

1 回答 1

0

您所关心的实际上是可以的,但您必须意识到,这AlbumTable只不过是您的控制器和数据库之间的一个层。AlbumTable实际上是具有依赖关系的一件事,而不是控制器。

控制器总是需要某种“服务”或“网关”(这将是AlbumTable)来访问数据库中的数据。

另外,我不明白您所说的“我想更改模型的存储方式”是什么意思-您应该始终将模型存储到您的服务中。在给定的示例中,模型是Album,服务是AlbumTable。无论数据来自哪里——REST、RPC、“普通 HTTP”,你总是会存储专辑而不是一些 ArrayData 或诸如此类的东西。您宁愿尝试在模型中实现一个函数,例如exchangeArray(), exchangeJson()

您可能想让我们更清楚地了解您的“问题”...

于 2013-10-18T16:20:25.290 回答