Der-Dennis: OOP / MVC / Routing in Bootstrap-Prozess oder Front-Controller?

Beitrag lesen

Hallo zusammen,

ich arbeite gerade an einem kleinen PHP-Framework. In erster Linie, weil ich die ganzen Prozesse besser verstehen will und zweitens, weil mir andere Frameworks - wie soll ich sagen - zu "überladen" sind.

Ich hatte auch schon ein kleines Framework, habe es aber vor ein paar Tagen eingemottet, da ich hierbei nicht konsequent sauber programmiert habe, was ja bekanntlich ab einem bestimmten Punkt Erweiterungen sehr erschwert.

Nun zu meiner Frage: Gehört das Routing in den Bootstrap-Prozess oder ist es die Aufgabe des Front-Controllers, dies zu übernehmen?

Bisher rief mein Front-Controller eine Routing-Klasse auf, in der wiederum verschiedene Router (und diese konnten wiederum verschiedene Routen beinhalten) ausgeführt wurden.

Allerdings erscheint mir das nicht mehr ganz so stimmig: Der Front-Controller sollte doch eigentlich nur ein "vollständiges", also bereits geroutetes (gibt's dieses Wort eigentlich?) Request-Objekt bekommen und eine Antwort zurückgeben?

Aber wohin dann mit dem Routing? In den Bootstrap-Prozess? Auch das ist für mich nicht ganz stimmig. Denn bislang war meine grobe Struktur:

  • Anwendung wird aufgerufen: Alle für die Anwendung unabdingbaren "Prozesse" werden initialisiert und gestartet
  • Bootstrapping: Alle optionalen Plugins, Aufgaben, etc. werden geladen und evtl. ausgeführt
  • Der Front-Controller übernimmt, delegiert also an spezielle Controller und gibt am Ende die Response aus

An diesem Punkt komme ich zur Zeit nicht weiter und freue mich auf Eure Erfahrungen und Meinungen.

Gruß, Dennis

Btw: Hat jemand Interesse, mit mir zusammen ein kleines, sagen wir, Self-Framework in PHP (wenn's sein muss auch Perl :-)) zu entwickeln? Vielleicht könnte man es auch gleich so dokumentieren, dass es so verständlich wie möglich ist und man es direkt - mit weiteren Erläuterungen - für einen "MVC-Crashkurs" ins Wiki übernehmen könnte?