我按照这个示例http://framework.zend.com/manual/2.2/en/user-guide/database-and-models.html创建了一个模型,并将其保存到数据库中。
但是我不喜欢在我的控制器中使用AlubumTable
- 类的想法,因为我认为这会产生太多的依赖关系。我只想将save()
,fetchAll()
等方法添加到我的模型中,这样我就不必关心如何在控制器中保存模型。
如果我想改变模型的存储方式,例如从数据库到REST服务,我必须重写我的控制器的每个部分,在那里我获取或存储模型,而不是仅仅更改模型中的save()
等方法。
我的方式是否有任何教程或这只是一个愚蠢的想法? :)
答案 0 :(得分:0)
您所关心的问题实际上是正常的,但您必须意识到AlbumTable
只不过是Controller和数据库之间的一层。 AlbumTable
实际上是依赖的一件事,而不是控制器。
Controller始终需要某种“服务”或“网关”(可以是AlbumTable
)来访问数据库中的数据。
此外,我不明白你的意思是“我想改变我的模型存储的方式” - 你应该始终将MODEL存储到你的服务中。在给定的示例中,模型为Album
,服务为AlbumTable
。无论数据来自何处 - REST,RPC,“普通HTTP”,您总是存储相册而不是某些ArrayData或诸如此类的东西。您宁愿尝试在模型中实现一个函数,例如exchangeArray()
,exchangeJson()
。
您可能希望让我们更清楚“问题”......