我正在用 Zendframework 编写我的第一个应用程序。我的问题是关于模型-视图-控制器 (MVC) 架构模式。
我目前有一个参考数据库表的模型。这是我目前拥有的课程:
Model_Person
Model_PersonMapper
Model_DbTable_Person
现在,我在网上看到很多例子,但都是简单的插入/更新/删除的例子。在我的情况下,我必须检查一个人是否存在,如果不存在,我必须插入它并检索 ID(我知道保存返回 ID,但这不完全是我必须做的,这是和例子)。
这很简单,但我想知道在哪里放置所有其他特定情况的数据库逻辑。其他一些情况可能涉及跨其他表的检查或......无论如何!
我是否应该在我的 Model_XXXXMapper 中添加所有特定功能,其中包含我想要执行的当前验证/过程非常具体的内容?就像一个函数 getIdOfThePersonByNameOrInsertIfNotExists() (当然是示例名称!!!)
或者它是否应该驻留在控制器中,对我的模型进行一些不太具体的访问将得到验证?
换句话说,我应该把所有数据细节功能或检查放在哪里?