Introdução ao Yii Framework
Portuguese (Português) translation by Erick Patrick (you can also view the original English article)



Por Que Yii?
Criar um "Hello World" em PHP é bem fácil, mas criar uma aplicação web de verdade fica complicado facilmente. Quando temos de lidar com segurança, código DRY ou usar o padrão MVC, parece que o PHP não dá conta. Ruby on Rails é um alternativa, mas ainda há muita coisa difícil com ele - especialmente quando se trata de hospedagem e publicação econômicas e flexíveis.
É aqui que frameworks do PHP entrão em ação.
Existem vários frameworks PHP bons: Symfony, Cake, Zend, CodeIgniter, Laravel e Yii. Yii é uma framework de código aberto e gratuito para PHP5 que propôe código limpo, DRY e suportar rápido desenvolvimento. Achamos que Yii oferece tudo que esperamos de um framework de alta performance precisa com o mínimo das limitações que outros frameworks PHP apresentam.
O site da Vice é escrito em Yii, assim como uma das emergentes alternativas ao WordPress, CraftCMS (siga @reifman, para a Introdução a CraftCMS).
Yii se destaca pela performance, que é crítico ao adotar um framework:



O framework Yii também oferece muitos recurso que nos permitem criar aplicações web otimizadas, rápida e facilmente. E também oferecem excelente documentação e comunidade solidária.
Yii é madura, bem testada e estável. Criada por Qiang Zue, a versão 1.x existe desde 2008. A versão 2.0 foi lançada em outubro de 2014.
Recursos
Para um framework de alta performance, as amplas capacidades e recursos do Yii é extraordinária e é um dos motivos de sermos atraídos pelo framework. Podemos ver e testar alguns exemplos da Yii em ação no Playground do Yii.
Eis alguns destaques:
- Arquitetura Modelo-Visão-Controlador. Como no Ruby on Rails, podemos usar MVC em nossos apps PHP.
- Objetos de Acesso à Base de Dados (DAO), Active Record e migrações de bases de dados programáticas, simplificando os desafios da construção de aplicações web.
- Formulário, validação e suporte a Ajax embutido. Yii facilita muito formulários.
- Autenticação embutida e poderosa administração de usuários facilitam a publicação de aplicações web.
- A ferramenta de geração de código do Yii, Gii, acelera o desenvolvimento focando no MVC.
- Console do Yii. Podemos executar Yii na linha de comando ou como daemon. Com isso, é possível criar tarefas de plano de fundo muito performática em PHP.
- Opções de tema, como a extensão com Bootstrap facilita a criação de visuais bonitos e responsivos.
- Suporte a cache em camadas no Yii facilita a implementação dos tipos de cache que fazem sentido.
- Segurança. Yii minimiza os fatores de risco típicos ao rodar serviços com PHP e MySQL.
- Integração com outras frameworks. É fácil usar recursos do Zend ou PEAR no Yii.
- Extensões. A comunidade do Yii oferece uma variedade de plugins e widgets gratuitos e de código aberto.
- Internacionalização. Yii suporta I18N e facilita a localização do nosso app.
- Manipulação de erros, registros e test - sim, Yii tem.
A comunidade Yii também comprou uma licença ilimitada para o ótimo editor de texto web, Redactor - que podemos usar em qualquer um dos nossos apps Yii. Isso é ótimo para entrada com formatação ou recurso de CMS.
A documentação Yii e a comunidade são ótimos recursos. Há vários livros ótimos para ajudar a começar.
Nossa Experiência com Yii
Yii é parte chave do crescimento de produtividade nos dois últimos anos. Ele facilitou a construção de várias aplicações web:
- Simplify Email - filtra, administra e envia resumos de nossos emails, simplificando os problemas da comunicação moderna, permitindo-nos recursos poderosos como horários sem emails. Integra-se com biblioteca IMAP do PHP, API do Mailgun e a API Pushover para notificações.
- Geogram - projeto conceito que oferece grupos de emails para bairros e lugares. Integra-se aos dados de bairros do Zillow, Google Maps, Google Places e Mailgun.
- Simple Monitor - monitora sites WordPress e o estado de servidors Quando algo sair errado, envia uma notificação para nosso iPhone.
- ListApp - app gratuita e de código aberto de transmissão de emails usando as API de lista e validação de emails do Mailgun Falaremos mais sobre ela logo, aqui na Tuts+.
O código do Simplify Email e Simple Monitor está disponível para compra se quisermos avaliar códigos reais de Yii. Também temos outros tutoriais sobre Yii.
Algumas das nossas extensões favoritas são a Yii User, Yii Bootstrap, Redactor e Yii Hybridauth.
O Que Há na Versão 2.0?
Yii 2.x já está disponível para uso desde 2014. Eis os aprimoramentos em relação à versão 1.x de Yii.
Dado o avanço de Yii 1.x, não há uma única funcionalidade sensacional em Yii2, mas há vários aprimoramentos que facilitarão a vida dos desenvolvedores Yii.
Eis alguns destaques:
- Suporte a auto carga de classes via PSR-4, nomes de espaços simples, velocidade e usabilidade aprimorada
- Aprimoramento em performance e segurança
- Integração de API RESTful para facilitar a criação de APIs
- Integração de testes com Codeception
- Aprimoramentos na base de dados e no Active Record, consultas em lote, sub-consultas e relações inversas
- Manipulação aprimorada de URL e processamento
- Traduções das mensagens da base em 26 idiomas
- Gerador de documentação
Começando com Yii
Começar com Yii é bem simples dada sua ótima documentação. Eis algumas coisas a tentar:
- O Tour do Yii
- Vídeo aulas do Yii
- Library: The Definitive Guide to Yii, veja o The Yii Book de Larry Ullman e Web Application Development with Yii and PHP
- O Playground do Yii
- O tutorial gratuito sobre o ListApp, compre o código do Simple Monitor e veja outros tutoriais daqui.
- Fórum da comunidade Yii (e faça perguntas).
O Yii 2.x é muito excitante e tem muito coisa ainda em seu futuro. Ele aumentou nossa eficiência como desenvolvedor e consultor. Esperamos que ache o Yii tão interessante quanto nós.
Quaisquer perguntas e correções, poste-as nos comentários. Se quiser ficar atualizado em tutoriais futuros e outras séries, siga @reifman ou visite a página de autor.