MVC:模型,控制器还是库?

时间:2012-05-27 07:24:23

标签: php model-view-controller codeigniter

我是第一次使用框架(codeigniter)构建CRM,而且在维护MVC方法的同时,我无法确定某个模块应该去哪里。该模块自动生成一个新用户(创建新公司时),并将登录详细信息通过电子邮件发送到提供的电子邮件地址。

我熟悉瘦的控制器和胖模型的想法,但要编译所需的所有信息,模块必须从几个不同的表请求数据以及将数据插入到几个表中。

到目前为止我考虑的情景:

  1. 逻辑在模型中,其中大部分信息来自。
  2. 创建一个全新的模型,仅处理此模块和所需的多个表。
  3. 将逻辑放置在处理创建公司的控制器中。
  4. 创建一个新的库或帮助程序,并在需要时调用该模块。
  5. Skinny控制器和胖模型似乎表明一两个是正确的选择,但我认为模型应该只处理数据库中的一个表。

    确保遵守MVC的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

Codeigniter允许您灵活地使用MVC方法。所以答案是哪个选项是:

  • 最容易让您(或您的团队)理解
  • 最容易进行代码维护
  • 让其他人最容易理解

如果您没有任何其他库并且不了解库,那么将代码放入库中是没有意义的。如果所有模型都“胖”,但只指向一个表,你是否希望这个模型成为唯一一个同时指向其他4个表的模型?

就个人而言,如果这个“逻辑”只发生在一个地方,那么我会把它放到控制器中,并调用你需要做的4x模型代码。

如果这个“逻辑”出现在多个地方,我会将它放入一个库中并在需要时调用它。