yii framework - produtividade sem perder qualidade!
TRANSCRIPT
Produtividade sem perder qualidade!
Por: Kilderson Sena
Quem é tu “Mermo” ? Kilderson Sena - Programador PHP e Microempresário; - Graduado em Análise e Desenvolvimento de Sistema; - Programador há mais de 10 anos; - Apaixonado por Desenvolvimento;
facebook.com/kilderson.sena
@dersonsena
@derson_sena
dersonsena
Quem é tu “Mermo” ?
Quem é tu “Mermo” ?
BLOG yiiacademy.com.br
Canal no Youtube youtube.com/yiiacademybr
Quem é tu “Mermo” ?
Meu E-book
ou baixe pelo endereço yiiacademy.com.br/8-motivos-para-usar-o-yii-2
Quais são os pré-requisitos ?
e principalmente… MENTE ABERTA!
- Guerras de FW + Café na veia
O que é o YII ?
FONTE: Site Oficial Yii
Site Oficial: yiiframework.com Repositório Oficial: github.com/yiisoft/yii2 Facebook: facebook.com/groups/yiitalk Twitter: @yiiframework
“Yii é pronunciado como Yee ou [ji:], e é um acrônimo para: Yes It Is!”
FONTE: Site Oficial Yii
“É uma estrutura de PHP baseada em componentes de alto desempenho para o rápido desenvolvimento de aplicativos da Web modernos”
FONTE: Site Oficial Yii
FONTE: Site Oficial Yii
“The Fast, Secure and Professional PHP Framework” Tradução: “O framework PHP rápido, seguro e profissional”
É a resposta exata e mais concisa para as perguntas:
“Ele é RÁPIDO?”
“Ele é SEGURO?”
“Ele é PROFISSIONAL?”
“Ele é CERTO para meu próximo projeto?”
YES, It is!
Como ele nasceu? Quem é o criador ?
QIANG XUE - Em meados de 2004 ele foi um dos líderes do Prado Framework (inspirado pela Apache Tapestry, Borland Delphi e Microsoft ASP.NET)
- Naquela época, a Zend realizou uma competição chamada gophp5 para promover o recém-lançado PHP 5.0. Qiang re-implementou o Prado no PHP 5 e simplesmente ganhou a competição!
github.com/qiangxue
QIANG XUE github.com/qiangxue
CARSTEN BRANDT github.com/cebe
ALEXANDER MAKAROV github.com/samdark
PAUL KLIMOV github.com/klimov-paul
Como o Yii pode me ajudar ?
$ cd /path/to/htdocs $ composer global require "fxp/composer-asset-plugin:~1.1.1” $ composer create-project --prefer-dist yiisoft/yii2-app-basic basic-composer
Fácil Instalação
Fácil Instalação
$ cd /path/to/htdocs/basic-composer $ php yii serve
Fácil Instalação
Fácil Instalação http://localhost:8888
Fácil Instalação
http://localhost:8888/requirements.php
Componente Tudo aqui é
Tudo aqui é componente
- Os Componentes no Yii2 nada mais são do que services locators. - Eles guardam um conjunto de "componentes de aplicação" que fornecem diferentes serviços.
Tudo aqui é componente
$config = [ ... 'components' => [ 'request' => [...], 'cache' => [...], 'user' => [...], 'errorHandler' => [...], 'mailer' => [...], 'log' => [...], 'db' => [...], ], ... ];
Configuração do Componente
// Formato: \Yii::$app->nome_do_componente $request = \Yii::$app->request; $cache = \Yii::$app->cache; $db = \Yii::$app->db;
Utilização/chamada do componente
Gerar códigos rotineiros
GII
Gerar códigos rotineiros: GII
Gerar códigos rotineiros: GII
Sua maravilhosa
(Object-relational mapping)
Sua maravilhosa ORM
Existe um repositório chamando PHP ORM Benchmark que foi criado pelo Kenjis para realizar benchmarks (testes de performance) das principais ORM's do mercado! Veja na imagem abaixo a tabela extraída do repositório:
github.com/kenjis/php-orm-benchmark
Desempenho Seu impressionante
http://defesacivil.riodosul.sc.gov.br/
Seu impressionante desempenho
Seu impressionante desempenho
- Em 10 DIAS, a aplicação teve mais de 3.3 MILHÕES DE ACESSOS!
- Chegou em um pico de mais de 4.200 acessos simultâneos!
Seu impressionante desempenho
ALMIR BOUDUAN Desenvolvedor WEB
Migrations Versionando mudanças no DB com
Migrations $ cd /path/to/your/project $ php yii migrate/create create_clientes Yii Migration Tool (based on Yii v2.0.9-dev) Create new migration '/path/to/your/project/migrations/m160526_204647_create_clientes.php'? (yes|no) [no]: yes New migration created successfully.
Migrations
Migrations $ php yii migrate Yii Migration Tool (based on Yii v2.0.9-dev) Total 1 new migration to be applied: m160526_204647_create_clientes Apply the above migration? (yes|no) [no]: yes
Migrations *** applying m160526_204647_create_clientes > create table {{%clientes}} ... done (time: 0.021s) > insert into {{%clientes}} ... done (time: 0.003s) *** applied m160526_204647_create_clientes (time: 0.035s) 1 migration was applied. Migrated up successfully.
Widgets e Interfaces com
Widgets e Interfaces com Bootstrap + JqueryUI
<?= yii\jui\DatePicker::widget([ 'name' => ’fieldName’ ]) ?>
Widgets e Interfaces com Bootstrap + JqueryUI
<?= yii\jui\Spinner::widget([ 'name’ => 'country', 'clientOptions' => [ 'step' => 2 ] ]) ?>
Widgets e Interfaces com Bootstrap + JqueryUI
<?= yii\bootstrap\Alert::widget([ 'options' => [ 'class' => 'alert-info', ], 'body' => ’Your Message', ]) ?>
Widgets e Interfaces com Bootstrap + JqueryUI
Widgets e Interfaces com Bootstrap + JqueryUI
Debug Módulo de
Módulo de Debug
Barra de Debug
Módulo de Debug
Módulo de Debug
Módulo de Debug
Módulo de Debug
Achou pouco? Quer mais ?
Extensões Oficiais
- Twig - Smarty - SwiftMailer - Sphinx - ElasticSearch - Redis - MongoDB - Bootstrap
- JUI - Imagine - Codeception - Faker - AuthClient - APIDoc - E mais…
Extensões Oficiais
Mais de 300 extensões no packagist!
Thanks! =D
Kilderson Sena facebook.com/kilderson.sena
@dersonsena @derson_sena dersonsena