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.
1. Menor, Melhor e
Mais Poderoso!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 1 / 46
2. Quem?!
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ários
de abrangência nacional, que hoje conta com mais de 1.200
usuários cadastrados.
Site: http://www.galvao.eti.br/
Twitter: @galvao
Slides e Documentos: http://slideshare.net/ergalvao
https://speakerdeck.com/galvao
Github: http://github.com/galvao
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 2 / 46
3. Objetivo
Esta palestra tem por objetivo apresentar o Zend Framework 2, a nova versão de um
dos frameworks mais utilizados com a linguagem PHP, que foi lançada recentemente.
Além disso serão demonstrados os conceitos básicos envolvidos no desenvolvimento
de 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
4. Framework – Vantagens e desvantagens
↑ 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
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 4 / 46
5. FrameWARks
Os 7 Frameworks PHP mais populares em 2011 – Fonte: PHP-Developer.org
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 5 / 46
6. FrameWARks
Avaliação de “interesse”, número de queries no Google. Fonte – Google Trends
Ordem 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
7. Por quê ZF2?
↑ 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
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 7 / 46
8. Por quê ZF2?
↑ 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
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 8 / 46
9. Por quê ZF2?
↑ 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
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 9 / 46
10. Por quê ZF2?
↑ 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
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 10 / 46
11. Por quê ZF2?
Open Source PHP >= 5.3
> 2 anos e meio namespaces
> 2.000 changesets closures
> 200 profissionais late static binding
Microsoft, Google, et al.
Composer Github
PHAR PHPUnit
100% OO TravisCI
S.O.L.I.D.
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 11 / 46
14. Setup inicial
Configuração a nível de aplicação
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 14 / 46
15. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 15 / 46
16. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 16 / 46
17. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
Configuração a nível de Módulo
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 17 / 46
18. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 18 / 46
19. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 19 / 46
20. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Models
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 20 / 46
21. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Models
Views
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 21 / 46
22. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Models
Views
Layout
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 22 / 46
23. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Models
Views
Layout
Raiz web
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 23 / 46
24. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Models
Views
Layout
Raiz web
Componentes externos
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 24 / 46
25. Setup inicial
Configuração a nível de aplicação
Configuração de “ambientes”
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Models
Views
Layout
Raiz web
Componentes externos
Zend Framework 2
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 25 / 46
43. CRUD – Setup adicional
ZF2TestApp/module/Application/config/module.config.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 43 / 46
44. CRUD – Setup adicional
ZF2TestApp/module/Application/Module.php
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 44 / 46
45. Além disso...
Zend
Authentication Ldap
Cache Log
Console Mail
Crypt PermissionsAcl
EventManager Validator
Form
I8n
(...)
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 45 / 46
46. Obrigado!
? Dúvidas?
↓ Críticas?
↑ Elogios?!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 4/16/13 - 46 / 46
Notas del editor
O diretório vendor se encontra aqui porque com ZF2 você pode ter módulos inteiros dentro de vendor. Permite a reutilização de módulos entre aplicações diferentes, por exemplo.
O diretório vendor se encontra aqui porque com ZF2 você pode ter módulos inteiros dentro de vendor. Permite a reutilização de módulos entre aplicações diferentes, por exemplo.
O diretório vendor se encontra aqui porque com ZF2 você pode ter módulos inteiros dentro de vendor. Permite a reutilização de módulos entre aplicações diferentes, por exemplo.
O diretório vendor se encontra aqui porque com ZF2 você pode ter módulos inteiros dentro de vendor. Permite a reutilização de módulos entre aplicações diferentes, por exemplo.