beides sind konstruktionsmuster (hier kommt eigentlich das wort hin, welches ich suche), für webanwendungen.
ich arbeite ebenfalls mit model 2.
es gilt zu klären, was als 'controller' bezeichnet wird.
jede seite hat ihren 'applikationscontroller'.
wie nennt sich der übergeordnete 'controller' ?
model 1 ist die ablaufstruktur mit einzelnen pagecontrollern. heisst: viele seiten, jede seite hat ihren eigenen controller. ausser vielleicht ein paar includierten scripten liegt die applikationslogik in den scripten. die meisten php sachen sind nach diesem schema aufgebaut. im allerschlechtesten fall haben wir 'scriplets', bei denen der code zwischen dem html steht.
jede seite wird über ihren seitennamen gestartet und hat ihren eigenen 'controller', aber ist das der 'pagecontroller' ?
model 2 ist der aufbau mit einem zentralen frontcontroller. das heisst, man hat alle links auf index.php?request=irgendwas (immer index.php?...). das ganze zielt darauf, eine mvc struktur aufzubauen. vorteil ist durch den zentralen frontcontroller (in der index-datei), dass dieser eine menge aufgaben zentralisiert abnehmen kann, danach entscheidet er, wie es weiter geht. in java werden hier die richtigen komponenten angesprochen, in php läd man eben einfach die richtigen klassen.
jede seite wird per parameter über die index.php gestartet(eingebunden). die seitenauswahl erfolgt in der index.php.
ist die index.php der 'seitenauswahlcontroller' ?
der controller besteht aus mehreren 'ebenen':
seitencontroller: nur bei index.php. nicht nötig bei direktauswahl.
anwendungscontroller: individuell in jeder seite.
wenn man mit klassen arbeitet, kann man den 'controller' immer schön per EXTENDS in der tiefe erweitern oder überschreiben.