前端控制器是否负责决定加载哪些控制器/模块?

时间:2009-06-25 13:51:23

标签: php design-patterns controller uri

我正在开发一个网站脚本,目前我有一个前端控制器,它根据URI确定要加载的内容(例如,哪些模块/扩展和控制器)。这是一个好方法吗?如果重要的话,我正在使用PHP。我只是想知道这不是前端控制器的工作......

2 个答案:

答案 0 :(得分:2)

我使用的方法实际上涉及两个控制器。

有一个前端控制器控制请求的初始到达。然后是页面控制器,它是特定于当前页面的(取决于URI)。前端控制器处理加载右页面控制器。

Page Controller的任务是访问Model(用于DB访问)和其他类来组成页面视图的数据。

我会说Front Controller永远不应该做任何特定于URI的事情,并且应该保持尽可能通用,以便可以有效地重用它。

答案 1 :(得分:0)

That's the front controller pattern in a nutshell和像CakePHP和Zend这样的框架(我相信)做了很多相同的事情(就像Rails一样)。

我唯一的想法是你是否应该将加载模块和扩展委托给需要或引用它们的控制器,因为前端控制器通常会处理应用程序级别的操作。