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

Raf*_*del 25 php front-controller

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

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

谢谢.

h0t*_*1r3 43

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

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

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

的.htaccess

RewriteEngine On
RewriteRule . /front-controller.php [L]
Run Code Online (Sandbox Code Playgroud)

前Controller.php这样

<?php

switch ($_SERVER['REQUEST_URI']) {
    case '/help':
        include 'help.php';
        break;
    case '/calendar':
        include 'calendar.php';
        break;
    default:
        include 'notfound.php';
        break;
}
Run Code Online (Sandbox Code Playgroud)