Der englischsprache Begriff Model View Controller (kurz MVC) definiert ein System zur Strukturierung von Softwareentwicklung. Dabei wird der Ablauf einer Anwendung vereinfacht in 3 Ebenen unterteilt:


  • Model: ist die Datenebene. Sie kümmert sich um das Lesen und Schreiben der Daten.
  • Controller: ist die Verarbeitungsebene. Sie nimmt Benutzereingaben entgegen, liest Daten aus dem Model und gibt das Ergebnis an den View weiter.
  • View: ist die Präsentationsebene. Sie bereitet die Daten zur Anzeige auf (beispielsweise durch die Unterteilung in Überschrift, Texte, Tabellen usw.) und stellt sie dem Benutzer dar. Der Benutzer manipuliert die Daten im View und sendet diese zurück an den Controller.

Ein einfaches Anwendungsbeispiel für den Einsatz eines MVCs ist die Verarbeitung eines Eingabe-Formulars. Daten werden geladen, strukturiert dargestellt, vom Anwender geändert und abschließend gespeichert.


Das Konzept wurde zunächst 1979 für Benutzeroberflächen entwickelt und gilt mittlerweile als Standard für die grobe Strukturierung von Software-Systemen.

Im PHP-Umfeld sind die folgenden MVC-Frameworks gängig:


  • CodeIgniter
  • Symfony
  • CakePHP
  • Zend Framework
  • FuelPHP
  • Laravel
  • Kohoana