我正在使用 CodeIgniter 和 wiredesignz 的 HMVC 扩展。
我的网络应用主要处理文本文章。我有一个名为articles
. 文章模块的模型articles_model
,包含对文章进行数据库更改的函数。例如,以下内容将更新文章:
$this->articles_model->update_article();
用户仪表板还有另一个模块。用户有时会从他们的仪表板中更新文章。该请求是从仪表板控制器发出的,因为此操作是从仪表板模块中的视图执行的。
在这种情况下,我应该如何让仪表板控制器与文章模型进行通信?到目前为止,我遇到的几个选项是:
update_article()
在文章控制器中创建一个函数。它所做的只是调用articles_model
同名的函数。让仪表板控制器调用文章控制器功能update_article()
。之所以会这样做,是因为我已经读过在模块化设计中,控制器应该是不同模块(源代码)之间的通信点。我还遇到过其他观点,即控制器永远不应该互相交谈。因此我的困惑。我也可以
update_article()
在dashboard_model
. 这样,仪表板控制器只需在自己的模块中调用自己的模型。我的直觉告诉我这不是要走的路,因为该update_article()
函数不仅被仪表板控制器调用,而且还被很多其他函数调用。这将导致大量重复代码。
任何建议表示赞赏。