# Visão Geral ¶

As aplicações do Yii são organizadas de acordo com o padrão de projeto model-view-controller (MVC) (modelo-visão-controlador). Os models representam dados, lógica e regras de negócio; as views são a representação da saída dos modelos; e os controllers recebem entradas e as convertem em comandos para os models e as views.

Além do MVC, as aplicações do Yii também possuem as seguintes entidades:

- scripts de entrada: são scripts PHP que são diretamente acessíveis aos usuários finais. São responsáveis por iniciar o ciclo de tratamento de uma requisição.
- aplicações: são objetos globalmente acessíveis que gerenciam os componentes da aplicação e os coordenam para atender às requisições.
- componentes da aplicação: são objetos registrados com as aplicações e fornecem vários serviços para atender às requisições.
- módulos: são pacotes auto-contidos que contém um MVC completo por si sós. Uma aplicação pode ser organizada em termos de múltiplos módulos.
- filtros: representam código que precisa ser chamado pelos controllers antes e depois do tratamento propriamente dito de cada requisição.
- widgets: são objetos que podem ser embutidos em views. Podem conter lógica de controller e podem ser reutilizados em diferentes views.

O diagrama a seguir demonstra a estrutura estática de uma aplicação: