FrontController指的是一种设计模式,其中应用程序中的单个组件负责处理对应用程序其他部分的所有请求。它集中了其余应用程序所需的通用功能。模板,路由和安全性是FrontController功能的常见示例。使用这种设计模式的好处是,当需要更改这些功能的行为时,只需修改应用程序的一小部分。
用Web术语来说,对域的所有请求都由一个入口点(前端控制器)处理。
一个 非常简单 的例子 一个前端控制器的路由功能。使用Apache提供的PHP看起来像这样。最重要的步骤是将所有请求重定向到前端控制器:
RewriteEngine On
RewriteRule . /front-controller.PHP [L]
<?PHP
switch ($_SERVER['REQUEST_URI']) {
case '/help':
include 'help.PHP';
break;
case '/calendar':
include 'calendar.PHP';
break;
default:
include 'notfound.PHP';
break;
}