什么是前端控制器,它是如何实现的?

2022-08-30 16:05:21

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

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


答案 1

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

在 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;
}

答案 2

推荐