什么是前端控制器以及如何在PHP中实现?

时间:2011-07-31 15:04:01

标签: php front-controller

首先,我是PHP的初学者。并在此处发布了一个问题: Refactoring require_once file in a project 。我尽可能多地阅读有关前置控制器的内容,但无法了解它是如何工作的,甚至不知道它是什么。

有人可以简要解释它是如何工作的以及它的全部内容吗?

感谢。

1 个答案:

答案 0 :(得分:43)

Front Controller指的是一种设计模式,其中应用程序中的单个组件负责处理对应用程序其他部分的所有请求。它集中了应用程序其余部分所需的常用功能。模板,路由和安全性是前端控制器功能的常见示例。使用此设计模式的好处是,当需要更改这些函数的行为时,只需要修改应用程序的一小部分。

在网络术语中,域的所有请求都由单个入口点(前端控制器)处理。

前端控制器的路由功能的极其简单的示例。使用Apache提供的PHP看起来像这样。最重要的一步是将所有请求重定向到前端控制器:

<强>的.htaccess

RewriteEngine On
RewriteRule . /front-controller.php [L]

<强>前Controller.php这样

<?php

if ($_SERVER['REQUEST_URI'] == '/help') {
    include 'help.php';
} elseif ($_SERVER['REQUEST_URI'] == '/calendar') {
    include 'calendar.php';
} else {
    include 'notfound.php';
}