27 Stimmen

Was ist ein Frontcontroller und wie wird er eingesetzt?

Zunächst einmal bin ich ein PHP-Anfänger. Und habe hier eine Frage gepostet: Refaktorierung der require_once-Datei in einem Projekt . Ich habe versucht, so viel wie möglich über den Frontcontroller zu lesen, aber ich verstehe nicht, wie er funktioniert oder worum es überhaupt geht.

Kann mir jemand kurz erklären, wie das funktioniert und was es damit auf sich hat?

48voto

h0tw1r3 Punkte 6215

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X