Yii framework é um excelente framework php de alta performance.
Permite criação de um projeto de forma rápida apesar da curva de aprendizado deste framework ser um pouco mais elevado que de outros, o que é compensado por suas funcionalidades.
Eu, em um primeiro momento, senti dificuldades em encontrar documentação para este framework, porém no site dele possui guias bastante interessantes que abordam grande parte do framework e ajudam no aprendizado.
Para começar o uso do framework iremos baixar do site do desenvolvedor: yiiframework.com. Baixe também a documentação para futuras consultas e informações sobre ele.
Descompacte o arquivo que baixou. Dentro da pasta descompactada existem várias outras pastas e arquivos. A que nos interessa é a pasta framework.
Preparando para a criação de um projeto
Antes de começar a trabalhar com o framework precisamos definir algumas coisas que são de suma importância para o aproveitamento total da criação de um projeto rápido com o Yii.
Vamos, neste momento, criar nosso banco de dados. Como estamos fazendo somento um exemplo vou criar um banco simples simulando uma agenda.
O script para a criação deste banco será:
CREATE DATABASE agenda;
USE agenda;
CREATE TABLE agenda (
id INT NOT NULL PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
telefone VARCHAR(10) NOT NULL
) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Criado nosso banco vamos começar a trabalhar com o Yii Framework.
No diretório de projetos do apache (htdocs, www, …) crie uma pasta com o nome agenda. Esta pasta será a raiz do nosso projeto.
Copie a pasta framework (pasta descompactada do Yii) para dentro desta pasta e vamos criar nosso projeto.

Criando um novo projeto
Para a criação de um novo projeto Yii no Ubuntu é necessário criar via linha de comando, então abriremos o terminal e utilizaremos o seguinte código:
caminho/para/php /caminho/para/pasta/framework/yiic webapp /caminho/para/pasta/raiz
No meu caso (utilizo XAMPP) usaria o seguinte comando:
/opt/lampp/bin/php-5.3.0 /opt/lampp/htdocs/agenda/framework/yiic webapp /opt/lampp/htdocs/agenda
Após executar este comando ele vai perguntar se desejamos mesmo criar um novo projeto. Basta responder ‘y’.
Após isso será criado toda a estrutura de pastas do projeto com um demo já criado com opção de login e afins. Você pode acessar pelo endereço http://localhost/agenda (no meu caso).


Configurando uma conexão
Até aí já temos nosso projeto criado, agora vem uma das partes interessantes do Yii Framework.
Vamos criar os modelos de nossa arquitetura MVC direto das nossas tabelas no banco de dados, mas para isso precisamos estabelecer uma conexão.
Dentro do projeto agenda vamos acessar o arquivo main.php que está em /agenda/protected/config.
Neste arquivo encontramos diversas configurações do framework. A configuração que nos interessa neste momento é a de banco de dados que está com a flag ‘db’ dentro do array de configuração.
Já existe como comentário uma conexão MySql, basta alterar estas informações para se conectar ao seu banco.
Como ele utiliza a conexão PDO, nativa do PHP, basta você alterar seu DSN para se conectar à qualquer banco que desejar.
Alterado este arquivo vamos voltar à linha de comando.
Gerando modelos
Com nossos dados de conexão estabelecidos voltaremos a linha de comando. Lá vamos trabalhar com o seguinte código:
caminho/para/php /caminho/para/pasta/framework/yiic shell /caminho/para/pasta/raiz/index.php
No meu caso:
/opt/lampp/bin/php-5.3.0 /opt/lampp/htdocs/agenda/framework/yiic shell /opt/lampp/htdocs/agenda

Com isso entraremos em um console do Yii. Para gerar os modelos basta invocar esta opção:
>> model *

Com isto você cria modelos de todas as suas tabelas do banco de dados, caso queira criar modelos de apenas algumas tabelas basta utilizar:
>> model agenda

Onde ‘agenda’ é o nome da tabela que deseja referenciar.
Se você for até a pasta de modelos (/agenda/protected/models) você verá que os modelos já estão lá com suas regras de acordo com o banco de dados.
CRUD com Yii
Vamos agora criar nosso CRUD para nosso modelo.
O CRUD, como abordado em outros posts, é o termo que refere nossas ações comuns no banco de dados (inserir, excluir, atualizar e buscar).
O Yii já cria isso tudo para você, basta, dentro de sua interface em linha de comando, utilizar o comando:
>> crud Agenda

Neste momento o própria Yii cria todas as interfaces e tarefas para o cadastro, alteração exclusão e busca de itens do banco de dados de acordo com a conexão especificada.
Todas as regras de validação utilizadas pelo framework são baseadas nas tabelas do banco, mas isto poderá ser alterado mais para frente.
Para acessar o CRUD você precisa acessar o sistema do Yii e fazer log in. Acesse a url do seu projeto (http://localhost/agenda/index.php?r=agenda) e voilà, já pode cadastrar contatos da agenda.



Marcado: crud, framework, PHP, Projeto, yii, Yii Framework