Hans Wittwer

Geschichten, die das Leben schrieb

Serverseitige Skriptsprache PHP

MVC Theorie

🏁

Zusammenfassung

MVC ist ein Ansatz, wie Programme organisiert werden können. Die Idee besteht darin, Präsentation, Logik und Datenbankzugriff in drei Gruppen zu teilen, damit das Projekt übersichtlicher und wartungsfreundlicher wird.

M steht für Modelle, diese sind zuständig für den Zugriff zur Datenbank.

V steht für Views (Sichten), diese sind zuständig für die Darstellung des berechneten Resultats.

C steht für Controller (Regler), diese berechnen das Resultat.

Vorgeschaltet ist der Frontcontroller, der die Anfrage entgegennimmt und den Router anfragt, welcher Controller an gekickt werden soll. Der Frontcontroller ist bei PHP-Projekten die Datei index.php. Per Datei .htaccess werden sämtliche Anfragen zu dieser Datei geleitet.

Der Controller redet mit dem Modell, erhält die Daten, berechnet das Resultat und fragt den View, wie das Resultat angezeigt werden soll.

Für kleine Aufgaben darfst Du gerne auf MVC verzichten und weiterhin nach Lust und Laune coden, denn MVC bringt einen Overhead mit und ist für grössere Projekte ein gangbarer Weg.

Struktur

Weil mit Namensräumen und automatischem Laden der Klassen gearbeitet wird, müssen die Verzeichnisse und Dateinamen zu den Namensräumen passen, ansonsten streikt der Autolader.

Siehe auch im Kapitel Namespace, Autolader und Verzeichnis

Zudem werden neue und leistungsfähige Funktionen verwendet, um vor dem Start einer Klasse automatisch in der Klasse nachzusehen, welche Parameter der Klasse übergeben werden müssen. Für Neulinge eine happige Anforderung, diese Mechanik auf Anhieb zu begreifen.

Auch der Router mit seinen unzähligen und komplexen regulären Ausdrücken ist eine Herausforderung.

Im Internet gibt es hervorragende Kurse zu diesem Thema, mit gegen 200 Lektionen.

Viel Spass und Ausdauer wünsche ich Dir!

Verzeichnisbaum

Im Wurzelverzeichnis der Website ist die Datei .htaccess, die auf die gewünschte Startdatei «public/$1» umleitet. Der Rest ist in den Verzeichnissen config, public, src, tmp und views untergebracht.

Die ganze Geschichte intus zu haben, braucht Übung. Die grobe Zusammenfassung soll Dir einen Einblick geben. Wenn Du es anwenden möchtest, empfehle ich Dir Dave Hollingworth, er hat den grossartigen Kurs php-mvc-from-scratch zum Selbststudium via Udemy publiziert. Sein Kurs habe ich gemacht und meine Zusammenfassung basiert auf diesem Kurs. Schau dort mal rein …

Weiter