Model View Controller
Warum MVC?
- MVC ist objektorientiert
- Es gibt nur einen Einstiegspunkt (z.B. index.php.
- Die gewählte Ressource wird über die URL bestimmt.
- DRY = Don't Repeat Yourself.
- wiederverwendbare Logik.
- modular => projektübergreifend wiederverwendbar.
Probleme durch MVC?
- Know-How erforderlich!
- "Irgendwie geht das schon (PHP) funktioniert hiermit nicht.
- Professionellere Entwicklung erforderlich.
- Etwas zeitaufwendiger, aber schon kurzfristig wieder amortisiert.
Bestandteile MVC
Model
- Datenbank Anbindungen (Resource Model).
- Die Entitäten (Data Model).
- Logik, die zur eigentlichen Anwendung gehört
- Business Logik
- Preisberechnungen
- u.s.w.
View
- Die sichtbaren Elemente.
- Im Web z.B.:
- HTML Templates
- View Objekte für den Umgang mit HTML-Elemente.
Controller
- Bindeglied zwischen Model und View.
- Reagiert auf Anfragen, sendet Antworten.
- z.B.:
- Anfrage "aller Bilder".
- Ruft Model für den Datenbankzugriff ab.
- Fragt Model nach Bildern.
- Lädt das passende Template
- Gibt das aufbereitete Template (inkl. der Bilder) zurück