Entwicklung & Design

Ein Tutorial zum Einstieg in das PHP-Framework: Anwendungsentwicklung mit Symfony

Seite 5 / 7

Model View Controller

Der Verzeichnisbaum spiegelt die Struktur der Anwendung wider.

Der Verzeichnisbaum spiegelt die Struktur der Anwendung wider.

Unser Modulverzeichnis „blog“ hat einige Unterverzeichnisse bekommen, welche die Grundstruktur einer MVC-Anwendung widerspiegeln. Im „actions“-Verzeichnis liegt der Controller-Teil der Anwendung, während im „templates“-Verzeichnis die dazugehörigen Views untergebracht sind. Jeder Action muss ein Template zugeordnet werden, zum Beispiel findet die Controller-Funktion executeShow() im Template showSuccess.php ihre View. Durch diese Aufteilung werden Logik (Controller) und Präsentation (View) strikt voneinander getrennt. Während die jeweiligen Actions direkten Zugriff auf das Datenmodell haben, sind die Templates nur für die Anzeige zuständig.

Da unser Blog bisher noch sehr hässlich ist (wir haben uns bisher nur Standard-Ansichten von Symfony erzeugen lassen), müssen wir also an den Dateien im templates-Verzeichnis arbeiten. Zuerst werfen wir einen Blick auf die Datei showSuccess.php. Der Name verrät, dass diese Datei das Ergebnis der „show“-Action darstellen soll. Die „show“-Action selbst kann durch einen Rückgabewert bestimmen, welches Template zur Anzeige verwendet werden soll. In unserem Beispiel bleiben wir beim Standard und lassen alle Actions „Success“ ausgeben. Wer möchte, kann einer Action auf diese Weise beliebig viele Templates zuordnen: „showError.php“ etwa ist ein Template der Action „show“ und wird angezeigt, wenn die Action „Error“ zurückgibt. Die Verwendung von Camel-Case ist an dieser Stelle obligatorisch, sonst kann Symfony Action und Template nicht zueinander in Verbindung bringen.
Um das Konzept zu verstehen, werfen wir einen Blick in die Datei actions.class.php:

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung