zf2 menor, melhor e mais poderoso
DESCRIPTION
Palestra que fala sobre o Zend Framework 2 e demonstra como montar uma aplicação usando esta nova versão de um dos Frameworks mais populares da linguagem PHP.TRANSCRIPT
Menor, Melhor e Mais Poderoso!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 1 / 46
Er Galvão Abbott é Presidente da ABRAPHP – Associação Brasileira de Profissionais PHP e Diretor da PHP Conference Brasil, o principal evento de PHP da América Latina.
Trabalha há mais de 18 anos desenvolvendo sistemas e aplicações com interface web, sendo 11 destes com PHP e 4 com Zend Framework. Trabalhou com diversas empresas de grande porte, tanto nacionais como internacionais.
Palestra em eventos, dá cursos em diversas instituições e é o fundador e líder do GU PHPBR, Grupo de Usuáriosde abrangência nacional, que hoje conta com mais de 1.200usuários cadastrados.
Site: http://www.galvao.eti.br/Twitter: @galvaoSlides e Documentos: http://slideshare.net/ergalvao https://speakerdeck.com/galvaoGithub: http://github.com/galvao
Quem?!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 2 / 46
Objetivo
Esta palestra tem por objetivo apresentar o Zend Framework 2, a nova versão de umdos frameworks mais utilizados com a linguagem PHP, que foi lançada recentemente.
Além disso serão demonstrados os conceitos básicos envolvidos no desenvolvimentode uma aplicação com ZF2.
Serão apresentados os seguintes tópicos:
→ Vantagens e desvantagens de se utilizar um Framework→ Principais frameworks em PHP→ Porque escolher o ZF2?→ Setup inicial→ Ambientes→ Models, Controllers e Views→ CRUD→ Customização de Rotas
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 3 / 46
Framework – Vantagens e desvantagens
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 4 / 46
↑Foco na aplicação↑Padronização↑Organização↑Simplificação de problemas complexos
↓Curva inicial de aprendizado alta
↓ “Engessamento” da aplicação
↓Dependência do Framework
Os 7 Frameworks PHP mais populares em 2011 – Fonte: PHP-Developer.org
FrameWARks
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 5 / 46
FrameWARks
Avaliação de “interesse”, número de queries no Google. Fonte – Google TrendsOrdem dos termos: ZF, CI, Symfony, Yii e CakePHP
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 6 / 46
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 7 / 46
↑Foco na aplicação↑Padronização↑Organização↑Simplificação de problemas complexos
↓Curva inicial de aprendizado alta
↓ “Engessamento” da aplicação
↓Dependência do Framework
Por quê ZF2?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 8 / 46
↑Foco na aplicação↑Padronização↑Organização↑Simplificação de problemas complexos
↓Curva inicial de aprendizado alta
↓ “Engessamento” da aplicação
↓Dependência do Framework
Por quê ZF2?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 9 / 46
↑Foco na aplicação↑Padronização↑Organização↑Simplificação de problemas complexos
↓Curva inicial de aprendizado alta
↓ “Engessamento” da aplicação
↓Dependência do Framework
Por quê ZF2?
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 10 / 46
↑Foco na aplicação↑Padronização↑Organização↑Simplificação de problemas complexos
↓Curva inicial de aprendizado alta
↓ “Engessamento” da aplicação
↓Dependência do Framework
Por quê ZF2?
Por quê ZF2?
Open Source PHP >= 5.3> 2 anos e meio namespaces> 2.000 changesets closures> 200 profissionais late static bindingMicrosoft, Google, et al.
Composer GithubPHAR PHPUnit100% OO TravisCIS.O.L.I.D.
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 11 / 46
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 12 / 46
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 13 / 46
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 14 / 46
Configuração a nível de aplicação
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 15 / 46
Configuração a nível de aplicaçãoConfiguração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 16 / 46
Configuração a nível de aplicação
Módulos da aplicaçãoConfiguração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 17 / 46
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de Módulo
Configuração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 18 / 46
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de MóduloCódigo-fonte do Módulo
Configuração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 19 / 46
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de MóduloCódigo-fonte do Módulo
Controllers
Configuração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 20 / 46
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de MóduloCódigo-fonte do Módulo
ControllersModels
Configuração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 21 / 46
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de MóduloCódigo-fonte do Módulo
ControllersModelsViews
Configuração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 22 / 46
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de MóduloCódigo-fonte do Módulo
ControllersModelsViews
Layout
Configuração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 23 / 46
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de MóduloCódigo-fonte do Módulo
ControllersModelsViews
LayoutRaiz web
Configuração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 24 / 46
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de MóduloCódigo-fonte do Módulo
ControllersModelsViews
LayoutRaiz webComponentes externos
Configuração de “ambientes”
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 25 / 46
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de MóduloCódigo-fonte do Módulo
ControllersModelsViews
LayoutRaiz webComponentes externosZend Framework 2
Configuração de “ambientes”
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 26 / 46
Setup inicialZF2TestApp/public/.htaccess
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 27 / 46
Setup inicialZF2TestApp/public/index.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 28 / 46
Setup inicialZF2TestApp/init_autoloader.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 29 / 46
Setup inicialZF2TestApp/config/application.config.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 30 / 46
Setup inicialZF2TestApp/module/Application/Module.php
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 31 / 46
ZF2TestApp/module/Application/config/module.config.php
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 32 / 46
ZF2TestApp/config/autoload/global.php
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 33 / 46
ZF2TestApp/config/autoload/local.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 34 / 46
ModelsZF2TestApp/module/Application/src/Application/Model/Produto.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 35 / 46
ModelsZF2TestApp/module/Application/src/Application/Model/ProdutoTable.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 36 / 46
Models – CRUDZF2TestApp/module/Application/src/Application/Model/ProdutoTable.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 37 / 46
ZF2TestApp/module/Application/src/Application/Model/ProdutoTable.php
Models – CRUD
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 38 / 46
ZF2TestApp/module/Application/src/Application/Model/ProdutoTable.php
Models – CRUD
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 39 / 46
ZF2TestApp/module/Application/src/Application/Controller/ProdutoController.php
Controllers - CRUD
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 40 / 46
ZF2TestApp/module/Application/src/Application/Controller/ProdutoController.php
Controllers - CRUD
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 41 / 46
ZF2TestApp/module/Application/src/Application/Controller/ProdutoController.php
Controllers - CRUD
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 42 / 46
ViewsZF2TestApp/module/Application/view/application/produto/index.phtml
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 43 / 46
CRUD – Setup adicionalZF2TestApp/module/Application/config/module.config.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 44 / 46
CRUD – Setup adicionalZF2TestApp/module/Application/Module.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 45 / 46
Além disso...
Zend\Authentication LdapCache LogConsole MailCrypt Permissions\AclEventManager ValidatorFormI8n
(...)
Obrigado!
? Dúvidas?↓ Críticas?↑ Elogios?!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 46 / 46