26

首先,我是 PHP 的初学者。并在这里发布了一个问题: Refactoring require_once file in a project 。我试图尽可能多地阅读有关 Front 控制器的信息,但无法了解它是如何工作的,甚至无法了解它的全部内容。

有人可以简要解释一下它是如何工作的以及是怎么回事吗?

4

1 回答 1

47

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

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

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

.htaccess

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

前端控制器.php

<?php

switch ($_SERVER['REQUEST_URI']) {
    case '/help':
        include 'help.php';
        break;
    case '/calendar':
        include 'calendar.php';
        break;
    default:
        include 'notfound.php';
        break;
}
于 2011-07-31T15:21:45.443 回答