【发布时间】:2010-05-07 03:58:58
【问题描述】:
我的问题出在模型和控制器之间。当我将 MVC 仅用于 crud(创建、读取、更新、删除)时,一切对我来说都很完美。我为每个数据库表都有单独的模型。我从控制器访问这些模型, 把它们弄脏。例如,在联系人应用程序中,我在控制器(联系人)中有操作(创建、读取、更新、删除)来使用模型的(联系人)方法(创建、读取、更新、删除)。
当我尝试做一些更复杂的事情时,问题就开始了。有一些复杂的过程,我不知道我应该把它们放在哪里。
- 例如,在注册用户进程中。我不能只在用户模型中完成这个过程,因为我还必须使用其他模型(发送邮件,通过其他模型为用户创建其他记录)并通过其他模型进行大量复杂的验证。
- 例如,在一些复杂的搜索过程中,我必须访问大量模型(文章、视频、图像等)
- 或者,有时,我必须使用 api 来决定我接下来要做什么,或者我将使用哪个数据库模型来记录数据
那么在哪里可以做这个复杂的过程。我不想在控制器中执行它们,因为有时我也应该在其他控制器中使用这些进程。而且我不想将这些过程放在模型中,因为我使用模型作为数据库访问层。可能是我错了,我想知道。谢谢您的回答 。
【问题讨论】:
标签: php model-view-controller design-patterns frameworks model