Front Controller bezeichnet ein Design Pattern, bei dem eine einzelne Komponente in Ihrer Anwendung für die Bearbeitung aller Anfragen an andere Teile einer Anwendung verantwortlich ist. Sie zentralisiert allgemeine Funktionen, die vom Rest der Anwendung benötigt werden. Templating, Routing und Sicherheit sind gängige Beispiele für Front-Controller-Funktionen. Der Vorteil dieses Entwurfsmusters besteht darin, dass nur ein kleiner Teil der Anwendung geändert werden muss, wenn das Verhalten dieser Funktionen geändert werden soll.
In Bezug auf das Web werden alle Anfragen für eine Domäne von einem einzigen Zugangspunkt (dem Front Controller) bearbeitet.
Eine sehr einfach Beispiel für nur die Routing-Funktionalität eines Front-Controllers. Die Verwendung von PHP, das von Apache bedient wird, würde etwa so aussehen. Der wichtigste Schritt besteht darin, alle Anfragen an den Front-Controller umzuleiten:
.htaccess
RewriteEngine On
RewriteRule . /front-controller.php [L]
front-steuergerät.php
<?php
switch ($_SERVER['REQUEST_URI']) {
case '/help':
include 'help.php';
break;
case '/calendar':
include 'calendar.php';
break;
default:
include 'notfound.php';
break;
}