ZF2 - 数据库和模型

时间:2013-10-18 08:48:06

标签: zend-framework2

我按照这个示例http://framework.zend.com/manual/2.2/en/user-guide/database-and-models.html创建了一个模型,并将其保存到数据库中。

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

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

我的方式是否有任何教程或这只是一个愚蠢的想法? :)

1 个答案:

答案 0 :(得分:0)

您所关心的问题实际上是正常的,但您必须意识到AlbumTable只不过是Controller和数据库之间的一层。 AlbumTable实际上是依赖的一件事,而不是控制器。

Controller始终需要某种“服务”或“网关”(可以是AlbumTable)来访问数据库中的数据。

此外,我不明白你的意思是“我想改变我的模型存储的方式” - 你应该始终将MODEL存储到你的服务中。在给定的示例中,模型为Album,服务为AlbumTable。无论数据来自何处 - REST,RPC,“普通HTTP”,您总是存储相册而不是某些ArrayData或诸如此类的东西。您宁愿尝试在模型中实现一个函数,例如exchangeArray()exchangeJson()

您可能希望让我们更清楚“问题”......