Yii implementuje wzorzec projektowy model-widok-kontroler (MVC), który jest powszechnie stosowany w programowaniu webowym. MVC ma na celu oddzielenie logiki biznesowej od interfejsu użytkownika, biorąc pod uwagę to, że developer może dzięki temu w łatwy sposób zmienić każdą część bez oddziaływania na inną. W MVC model reprezentuje informacje (dane) oraz reguły biznesowe. Widok zawiera elementy interfejsu użytkownika takie jak tekst, formularze. Kontroler zarządza komunikacją pomiędzy modelem a widokiem.
Poza implementacją MVC, Yii wprowadza również front-controller, nazywany aplikacją, który hermetyzuje wykonywanie kontekstu przetwarzanego żądania. Aplikacja zbiera pewne informacje o żądaniu użytkownika a następnie przekazuje je do odpowiedniego kontrolera w celu późniejszego przetworzenia.
Poniższy diagram pokazuje statyczną strukturę aplikacji napisanej w Yii:
Statyczna struktura aplikacji napisanej w Yii

Poniższy diagram pokazuje typowe sterowanie kolejnością zadań w aplikacji Yii podczas przetwarzania żądania użytkownika:
Typowe sterowanie kolejnością zadań dla aplikacji napisanej w Yii

http://www.example.com/index.php?r=post/show&id=1
a serwer webowy przetwarza żądanie poprzez wykonanie skryptu rozruchowego
(ang. bootstrap script) index.php.request.urlManager aplikacja ustala żądany
kontroler oraz akcję .
W podanym przykładzie, kontrolerem jest post, który reprezentuje
klasę PostController; akcją jest show, której aktualne znaczenie jest determinowane
przez kontroler.show odpowiada metodzie nazwanej actionShow
w klasie kontrolera. Następnie tworzy on i wywołuje filtry (np. filtr kontroli dostępu, benchmarking)
powiązane z tą akcją. Akcja jest wykonywana, jeśli zezwalają na to filtry.Post z bazy danych o ID równym 1.show wraz z modelem Post.Post.
Found a typo, or you think this page needs improvement?
Edit it on GitHub !
Signup or Login in order to comment.