6.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Executando Aplicações
Após instalar o Yii, você tem uma aplicação Yii funcional que pode ser acessada
pela URL http://hostname/basic/web/index.php ou http://hostname/index.php,
dependendo da sua configuração. Esta seção introduzirá a funcionalidade embutida
da aplicação, como o código é organizado, e como a aplicação manuseia as requisições
em geral.
Info: Por questões de simplicidade, por todo este tutorial de "Primeiros Passos" assume-se que você definiu
basic/webcomo a raiz de documentos do seu servidor Web e configurou a URL de acesso de sua aplicação comohttp://hostname/index.phpou algo semelhantes. Por favor ajuste as URLs em nossas descrições às suas necessidades.
Observe que ao contrário do próprio framework, após a instalação de um dos templates de projetos, você está livre para adicionar, remover ou sobrescrever qualquer código que precisar.
Funcionalidade
O template básico de projetos instalado contém quatro páginas:
- A página inicial, exibida quando você acessa a URL http://hostname/index.php,
- a página "About" (Sobre),
- a página "Contact" (Contato), que exibe um formulário de contato que permite que usuários finais entrem em contato com você via e-mail,
- e a página "Login", que exibe um formulário de login que pode ser usado para aurenticar usuários finais. Tente fazer o login com "admin/admin", e você perceberá que o item do menu principal "Login" mudará para "Logout".
Estas páginas compartilham um cabeçalho e rodapé em comum. O cabeçalho contém uma barra de menu principal que permite a navegação através das diferentes páginas.
Você também deverá ver uma barra de ferramentas no rodapé da janela do navegador. Essa é uma ferramenta de depuração fornecida pelo Yii para registrar e exibir várias informações de depuração, tais como mensagens de logs, status de respostas, as consultas de banco de dados executadas, e assim por diante.
Além da aplicação Web, existe um script console chamado yii, que está localizado
na pasta base da aplicação.
Este script pode ser usado para executar rotinas em segundo plano e tarefas de
manutenção da aplicação, descritas na seção Comandos de Console.
Estrutura da Aplicação
Os diretórios e arquivos mais importantes em sua aplicação são (assumindo que
o diretório raiz de sua aplicação é basic):
basic/                  caminho base de sua aplicação
    composer.json       usado pelo Composer, descreve as informações de pacotes
    config/             contém as configurações da aplicação e outras
        console.php     a configuração da aplicação de console
        web.php         a configuração da aplicação Web
    commands/           contém classes de comandos do console
    controllers/        contém classes de controllers (controladores)
    models/             contém classes de models (modelos)
    runtime/            contém arquivos gerados pelo Yii durante o tempo de execução, tais como logs e arquivos de cache
    vendor/             contém os pacotes do Composer instalados, incluindo o próprio Yii framework
    views/              contém arquivos de views (visões)
    web/                raiz da aplicação Web, contém os arquivos acessíveis pela Web
        assets/         contém os arquivos de assets (javascript e css) publicados pelo Yii
        index.php       o script de entrada (ou bootstrap) para a aplicação
    yii                 o script de execução dos comandos de console do Yii
Em geral, os arquivos na aplicação podem ser divididos em dois tipos: aqueles em
basic/web e aqueles em outros diretórios. Os primeiros podem ser acessados
diretamente via HTTP (ou seja, em um navegador), enquanto os segundos não podem
e nem deveriam.
O Yii implementa o padrão de arquitetura modelo-visão-controlador (MVC),
que se reflete na organização de diretórios acima. O diretório models contém
todas as classes de modelos, o diretório views contém todos
os scripts de visões, e o diretório controllers contém
todas as classes de controladores.
O diagrama a seguir demonstra a estrutura estática de uma aplicação.
Cada aplicação tem um script de entrada web/index.php que é o único script PHP
acessível pela Web na aplicação. O script de entrada recebe uma requisição e
cria uma instância da aplicação para gerenciá-la.
A aplicação resolve a requisição com a ajuda de seus
componentes, e despacha a requisição para os elementos
do MVC. São usados Widgets nas views
para ajudar a construir elementos de interface de usuário complexos e dinâmicos.
Ciclo de Vida da Requisição
O diagrama a seguir demonstra como uma aplicação gerencia uma requisição.
- Um usuário faz uma requisição ao script de entrada web/index.php.
- O script de entrada carrega a configuração da aplicação e cria uma instância da aplicação para gerenciar a requisição.
- A aplicação resolve a rota solicitada com a ajuda do componente de aplicação request.
- A aplicação cria uma instância de um controller para gerenciar a requisição.
- O controller cria uma instância de um action (ação) e aplica os filtros para a ação.
- Se qualquer filtro falhar, a ação é cancelada.
- Se todos os filtros passarem, a ação é executada.
- A ação carrega um modelo de dados, possivelmente a partir de um banco de dados.
- A ação renderiza uma view, fornecendo a ela o modelo de dados.
- O resultado renderizado é retornado pelo componente de aplicação response (resposta).
- O componente response envia o resultado renderizado para o navegador do usuário.

