Modelo-Visão-Controle (MVC)
O Yii implementa o padrão de desenvolvimento modelo-visão-controle (MVC) que é amplamente adotado na programação Web. O MVC visa separar a lógica de negócio da interface com o usuário, assim os programadores podem mudar facilmente cada parte, sem afetar as outras. No padrão MVC, o modelo representa as informações (os dados) e as regras de negócio, a visão contém elemento de interface com o usuário, como textos, formulários, e o controle gerencia a comunicação entre o modelo e a visão.
Além MVC, o Yii também introduz um controle de frente, chamado aplicação (application), que representa o contexto de execução dos processos requisitados. A aplicação recebe a solicitação do usuário e a envia para um controlador adequado para ser processada.
O diagrama seguinte mostra a estrutura estática de uma aplicação Yii:
Estrutura estática de uma aplicação Yii

Um típico fluxo de execução
O diagrama a seguir mostra um típico fluxo de execução de uma aplicação Yii quando esta está recebendo uma solicitação de um usuário
Um típico fluxo de execução de uma aplicação Yii

- O usuário faz uma solicitação com a URL
http://www.exemplo.com/index.php?r=post/show&id=1
e o servidor Web processa o pedido executando o script de bootstrapindex.php
. - O script de bootstrap cria uma instancia de aplicação (application) e a executa.
- A aplicação obtém o as informações detalhadas da solicitação de um
componente da aplicação
chamado
request
. - A aplicação determina o controle
e a ação requerida com a ajuda do componente
chamado
urlManager
. Para este exemplo, o controle épost
que se refere à classePostController
e a ação éshow
cujo significado real é determinado no controle. - A aplicação cria uma instancia do controle solicitado para poder lidar com a solicitação do
usuário. O controle determina que a ação
show
refere-se a um método chamadoactionShow
no controle da classe. Em seguida, cria e executa filtros (por exemplo, o controle de acesso, benchmarking) associados a esta ação. A ação só é executada se permitida pelos filtros. - A ação le um modelo
Post
cujo ID é1
no Banco de Dados. - A ação processa a visão chamada
show
, com oPost
. - A visão apresenta os atributos do modelo
Post
. - A visão executa alguns widgets.
- O resultado do processamento da visão é embutido em um layout.
- A ação conclui o processamento da visão e exibe o resultado ao usuário.