# Struktura aplikacji ¶

Aplikacja Yii jest zorganizowana według wzorca architektonicznego model-widok-kontroler (MVC). Modele reprezentują dane, logikę biznesową i zasady walidacji, widoki są odpowiedzialne za wyświetlanie informacji związanych z modelami, a kontrolery przyjmują dane wejściowe i przekształcają je w polecenia dla modeli i widoków.

Oprócz MVC, w aplikacjach Yii zdefiniowane są następujące struktury:

- skrypty wejściowe: skrypty PHP dostępne bezpośrednio dla użytkowników końcowych, odpowiedzialne za uruchomienie obsługi cyklu życia żądania.
- aplikacje: globalnie dostępne obiekty koordynujące działanie i zarządzające komponentami aplikacji.
- komponenty aplikacji: obiekty zarejestrowane w aplikacji, zapewniające dostępność dedykowanych usług.
- moduły: niezależne pakiety kodu zawierające kompletną wewnętrzną strukturę MVC. Aplikacja może być zorganizowana modułowo.
- filtry: reprezentują kod, który musi być wykonany przed i po obsłużeniu każdego z żądań kontrolera.
- widżety: obiekty, które mogą być dołączone w widokach. Mogą zawierać logikę kontrolera i być wykorzystane wielokrotnie w różnych miejscach.

Poniższy diagram ilustruje statyczną strukturę aplikacji: