Iniciando com Yii
Nesta seção, descrevemos como criar um esqueleto de aplicação, que servirá como ponto de partida. Para simplificar, vamos supor que o documento raiz do nosso servidor Web é /wwwroot
e a URL correspondente é http://www.example.com/
.
Instalando o Yii
Primeiro precisamos instalar o framework Yii. Pegue uma cópia do arquivo de liberação do Yii (versão 1.1.1 ou superior) do www.yiiframework.com e descompacte no diretório /wwwroot/yii
. Certifique-se de que existe um diretório /wwwroot/yii/framework
.
Dica: O framework Yii pode ser instalado em qualquer parte do sistema de arquivos, não necessariamente dentro da pasta Web. O diretório
framework
contém todo o código do framework, e somente este diretório é necessário para o desenvolvimento de uma aplicação Yii. Uma única instalação do Yii pode ser usada por várias aplicações Yii.
Depois de instalar o Yii, abra uma janela do navegador e acessar a URL http://www.example.com/yii/requirements/index.php
. Ela exibe os requisitos necessários para utilizar a versão do Yii instalada. Para a nossa aplicação blog, além dos requisitos mínimos necessários para o framework Yii, precisamos também habilitar as extensões pdo
e pdo_sqlite
do PHP, para que possamos acessar o banco de dados SQLite.
Criando o Esqueleto da Aplicação
Em seguida, usaremos a ferramenta yiic
para criar o esqueleto da aplicação sob o diretório /wwwroot/blog
. A ferramenta yiic
é uma ferramenta de linha de comando fornecido com o Yii. Ela pode ser usada para gerar o código e reduzir certas tarefas de codificação repetitivas.
Abra o Prompt de Comando e execute o seguinte comando:
% /wwwroot/yii/framework/yiic webapp /wwwroot/blog Create a Web application under '/wwwroot/blog'? [Yes|No]y ......
Dica: A fim de utilizar a ferramenta
yiic
como mostrado acima, o programa CLI PHP deve estar no caminho de procura do comando. Se não, o seguinte comando pode ser utilizado em vez disso:pasta/do/php /wwwroot/yii/framework/yiic.php webapp /wwwroot/blog
Para experimentar a aplicação que acabamos de criar, abra um navegador e acesse a URL http://www.example.com/blog/index.php
. Devemos ver que a nossa aplicação esqueleto já tem quatro páginas totalmente funcionais: página inicial, sobre, página de contato e da página de login.
A seguir, descreveremos brevimente o que tem neste esqueleto de aplicação
Script de Entrada
Nós temos um script de entrada no arquivo /wwwroot/blog/index.php
que contém o seguinte conteúdo.
$yii='/wwwroot/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php'; // remove the following line when in production mode defined('YII_DEBUG') or define('YII_DEBUG',true); require_once($yii); eYii::createWebApplication($config)->run();
Este é o único script que os usuários podem acessar diretamente da Web. O script, primeiro inclue o arquivo Yii bootstrap yii.php
. Em seguida cria uma instância da application com a configuração especificada e executa a aplicação.
Diretório Base da Aplicação
Nós também temos uma diretório base da aplicação /wwwroot/blog/protected
. A maioria do nosso código e os dados serão colocados neste diretório, e deve ser protegido de acesso por usuários da web. Para Apache httpd servidor Web, colocamos neste diretório um arquivo .htaccess
com o seguinte conteúdo:
deny from all
Para outros servidores Web, consulte o manual correspondente sobre como proteger um diretório de ser acessada por usuários da web.
Fluxo de Trabalho da Aplicação
Para ajudar a compreender como funciona Yii, descrevemos o fluxo principal de nossa aplicação esqueleto quando um usuário está acessando a página de contato:
- O usuário solicita a
http://www.example.com/blog/index.php?r=site/contact
; - O script de entrada é executado pelo servidor Web para processar o pedido;
- Um instância da aplicação é criada e configurada com as propriedades e valores iniciais especificados na configuração do aplicativo no arquivo
/wwwroot/blog/protected/config/main.php
; - O aplicativo resolve a solicitação em um controlador e uma ação do controlador. Para a solicitação da página de contato, ele é resolvido como o
site
e controlador da açãocontact
(oactionContact
método em/wwwroot/blog/protected/controllers/SiteController.php
); - O aplicativo cria o
site
controlador em termos de uma instânciaSiteController
e, em seguida, executa-o; - A instância
SiteController
executa a açãocontact
chamando seu métodoactionContact()
; - O método
actionContact
renderiza uma visão chamadacontact
para o usuário. Internamente, isto é feito através da inclusão da exibição do arquivo/wwwroot/blog/protected/views/site/contact.php
e incorporação do resultado ao layout do arquivo/wwwroot/blog/protected/views/layouts/column1.php
.