Hallo Leute,
ich habe mich mal zum Model-View-Controller Pattern (bzw. auch zum MVC2) schlau gemacht und habe da noch eine Frage.
Mir ist nicht klar ob der Controller nur als vorbereitende Instanz agiert oder den kompletten Programmfluss steuert. Soll heissen:
(i) Controller liest und verarbeitet Clientrequest und bereitet danach ein oder mehrer Models vor (für die er Bibliotheken läden, DB-Verbindung aufbaut, usw.), die er z.B. als liste zurück gibt (die dann an den View übergeben werden). Meine Vorstellung:
$controller = new Controller;
$models = $controller->dispatch($uerrequest);
$view = new View;
$view->display($models);
(ii) Controller wie bei (i) allerdings läd er auch den View und führt diesen aus. Meine Vorstellung:
$controller = new Controller;
$controller->dispatch($userrequest);
function dispatch($userrequest)
{
$input = $this->parse($userrequest);
$models = $this->initModels($input);
$view = new View;
$view->display($models);
}
Bin auf die Antwort gespannt... Grüsse, Pasi