Yii implementiert die Model-View-Controller-Architektur (MVC), die im Bereich der Web-Programmierung breite Anwendung findet. MVC zielt auf eine Trennung von Geschäftslogik und Benutzerschnittstelle ab, so dass der Entwickler jeden Bereich bequem verändern kann, ohne den anderen zu beeinflussen. In MVC werden die Information (die Daten) und die Geschäftsregeln durch das Model (Modell) repräsentiert. Der View (Präsentation) enthält Elemente der Benutzerschnittstelle, wie z.B. Text oder Formularelemente. Und der Controller (Steuerung) verwaltet die Kommunikation zwischen Model und View.
Neben MVC führt Yii außerdem einen Front-Controller namens Applikation ein, der die Laufzeitumgebung für die Bearbeitung eines Requests (Anfrage) darstellt. Die Applikation löst einen Benutzer-Request auf und leitet ihn zur Bearbeitung an einen passenden Controller weiter.
Das folgende Diagramm zeigt die statische Struktur einer Yii-Applikation:
Statische Struktur einer Yii-Applikation
Das folgende Diagramm zeigt den typischen Ablauf einer Yii-Anwendung beim Bearbeiten eines Requests:
Ein typischer Ablauf einer Yii-Applikation
http://www.example.com/index.php?r=post/show&id=1
request
.urlManager
. In diesem Beispiel ist der
Controller post
, was sich auf die Klasse PostController
bezieht. Die
Action ist show
, dessen tatsächliche Bedeutung erst vom Controller ermittelt wird.show
sich auf auf eine Methode namens actionShow
in der
Controller-Klasse bezieht. Er instanziiert daraufhin die mit dieser Action
verbundenen Filter (z.B. Zugriffsschutz, Benchmark) und führt diese aus. Die Action wird
ausgeführt wenn dies von den Filtern erlaubt wird.Post
mit der ID
1
aus der Datenbankshow
mit dem Post
-Model.Post
-Models und zeigt diese an.
Signup or Login in order to comment.