Tutorial - Teil 3 - Die Template Engine

easteregg

Member of Honour
das modrewrite übergibt ja das aufgerufene nach dem www.seite.de/ an die index.php an die getvariable run, in deinem fall "impressum"
 

BasicAvid

Member
Also wie genau würde ich jetzt nach deiner Templateengine z.B. den Hauptinhalt (oder auch Footer/Header) je nach Frontcontroller variieren lassen, sprich, dass bei bestimmten Anfragen ein völlig anderer Seitenaufbau kommt?

Also "je nach FrontController" stimmt ja so nicht, zur Laufzeit gibt es nur eine Instanz des FrontControllers (Singleton Pattern). Aber Du kannst natürlich die Template-Engine so umschreiben, dass bei bestimmten Templates andere Header und Footer eingebunden werden, oder das Template selber so anpassen.

Und noch eine Frage habe ich: Wenn ich die URL mit MOD-Rewrite umschreiben lasse, so dass nicht mehr ersichtlich ist, dass es eine PHP-Datei ist, wie kann der Controller dann auslesen, welche Instanz der Seite angezeigt werden soll? Also dann habe ich einfach mal als Beispiel: http://meineseite.de/impressum oder so ähnlich... ?

Dieser FrontController wartet ja auf folgende Paramter, Modulename.Actionname. Es ruft z.B. jemand die Seite www.meineseite.de/home.Home.html, durch Mod-Rewrite bekommt der FrontController folgendes übergeben, home.Home. Jetzt kann der FrontController nachschauen, ob es dieses Modul und die Action gibt, falls es beides gibt, dann wird im FrontController eine Instanz der Action erzeugt und ausgeführt.
 
Oben