Mhmhmhm, im Router benutzt beziehst du keine Daten...
Ich denke das Design Pattern was du meinst nennt sich MVC ( Model, View Controller ).
Die Model Ebene
Die Model Ebene ist für den Zugriff auf die Datenbank verantwortlich in der Theorie weiß das Model NIEMALS was genau gemacht wird, es stellt und bearbeitet lediglich Daten. Bspsw. haben wir unser Datenbankobject User, die Idee ist das Jedes Model eine Tabelle beherbergt. Demnach bräuchte unser Model nur die Informationen welche Tabelle es zu verwalten hat. Im Hintergrund könnte nun ein ORM laufen von den unser User Objekt extendet.
PHP Code:
class User extends DatabaseORM {
private $table = 'users';
}
nun sollte das ORM das Objekt von der Tabelle Users erstellen und bspsw. Methoden wie get() oder order() [Datenbankmethoden] beherbergen die auf das eigentliche Objekt angewendet werden (User Tabelle).
Die View Ebene
Die View Ebene ist rein für die Ausgabe Erzeugung des Contents Verantwortlich. Bspsw. für das Rendern von Template Dateien.
Dabei bekommt die View Ebene aber nie direkt Daten von Model Ebene
sondern hier springt
Die Controller Ebene
ein. Die Daten vom den Model zur View übergibt und wie der Name schon sagt sonst sämtliche Daten kontrolliert/manipuliert.
Die Router Ebene
Erst jetzt würde der Router greifen, den dieser sollte keine Daten bearbeiten / Sachen manipulieren, sondern je nach Anforderungspfad die Anfrage zu einen unserer Controller leiten.
Das ist die Basis auf der viele Frameworks bspsw. Laravel funktionieren.
Ansonsten geb ich dir mal ein Paar Seiten zum lernen mit auf den Weg.
Code:
http://www.peterkropff.de/site/php/oop.htm
http://www.philipphauer.de/study/se/design-pattern.php
http://php-html.net/tutorials/model-view-controller-in-php/