palestra yii2
TRANSCRIPT
$ whois João Bosco
Profissão: Desenvolvedor Backend
Experiência: 6 anos
Empresa: id5 Soluções Web
O que é o Yii2?
Sobre o Yii2Yii e pronunciado “Yee” e é um acronomo para “Yes, it is!” e oferece uma resposta rápida para as perguntas:
É rápido?É seguro?Devo usar no meu próximo projeto?- Yes, it is!Fundado em 2008 o yii é um framework MVC escrito em php5 com o intuito de um desenvolvimento realmente ágil e uma aplicação altamente escalável.Com uma ampla comunidade ativa pelo mundo o Yii tem um dos repositórios mais ativos do github, torando fácil a solução de dúvidas e possíveis problemas.
ComposerComposer é uma ferramenta de gerenciamento de dependências para o PHP que vem ganhando espaço e se tornando cada vez mais indispensável. Com algumas poucas linhas de configurações você define todas as bibliotecas de terceiros ou mesmo suas que deseja/precisa utilizar em seu projeto, o composer encarrega-se de baixá-las e criar um autoloader deixando-as prontas para uso.
Mas, realmente é rápido?
Sim!Testes feitos com os maiores frameworks do mercado mostram que o ORM do Yii2 tem um desempenho acima da grande maioria dos concorrentes, ficando atrás apenas do Phalcon. Essa velocidade se deve ao Lazy Loading, ou seja, as classes são carregadas sob demanda.
Sem instanciar classes sem uso, o Yii2 só carrega o que precisa!
71%Mais rápido comparado ao Laravel.
https://github.com/kenjis/php-orm-benchmark
Desenvolvimento ágil
Como o Yii2 pode me ajudar?
O Yii2 dispõe de várias ferramentas que proporcionam ao desenvolvedor um trabalho realmente eficiente e rápido, seja para desenvolvimento de um protótipo até aplicações mais complexas.
Gerando código rotineiro com Gii
Gii
O Gii é um gerador de código, com uma interface amigável tem como objetivo automatizar a geração de código rotineiro (Models, Controllers, CRUDs).
ExemploA exemplo da geração de model, basta passar o nome da tabela e o Gii gerará o Model com todos os atributos validados tomando como referencia os tipo, tamanho e opcional setado no banco de dados, o Gii ainda nos possibilita:
Gerar relacionamentos
Internacionalizar os Labels
Gerar Labels dos atributos a partir dos comentários do campos na tabela
Versionando mudanças no banco com Migrations
MigrationsCom times de desenvolvimentos cada vez maiores manejar as mudanças no banco de dados se torna cada vez mais complicado, usando migrations podemos gerar arquivos para alterações no banco, podendo assim versionar todas as mudanças, ou seja, quando um desenvolvedor criar uma migration com as alterações no banco os outros irão receber esse arquivo via versionador de código, sincronizando assim todas as mudanças.
Interfaces com
Bootstrap e jQuery UI
Componentes prontos para uma rápida implementação
de interface
Componentes Bootstrap e jQuery UI
O Yii2 incorpora os componentes do Twitter Bootstrap e jQuery UI em Widgets, dispensando a necessidade de reescrever todo o html do componente onde ele for usado, mais uma vez o conceito DRY sendo levado ao pé da letra.
Módulo de Debug
Teste Automatizados com Codeception
Integração total com o Codeception para elaboração testes unitários, funcionais e de aceitação, permitindo ao desenvolvedor manter a integridade da sua aplicação através de testes de testes automatizados.
Application Template: Várias formas para sua aplicação
Basic ApplicationO modelo Basic Application é ideal para a criação rápida de pequenos projetos.
O modelo contém as características básicas, incluindo usuário de login / logout e uma página de contato. Ele inclui todas as configurações comumente usadas que permitem que você se concentrar em adicionar novas funcionalidades em sua aplicação
Advanced Application
Esse modelo de aplicação é indicado para aplicações web complexas e com múltiplas camadas.
O modelo inclui três níveis: front-end, back-end , e console , cada um dos quais é uma aplicação Yii separada.
Agradecimentos Lucas Barros - (LukBarros)
https://github.com/lukBarros
Alexander Makarov - (Samdark) https://github.com/samdark
ContatosEmail: [email protected]
FB: https://www.facebook.com/boscobass
Github: https://github.com/boscobass