O documento discute os principais frameworks PHP, com foco no Zend Framework 2. Apresenta as vantagens dos frameworks, como padronização, organização e simplificação. Também explica os passos iniciais de configuração de um projeto no Zend Framework 2, desde a configuração da aplicação até a implementação dos módulos, controladores, modelos e visões.
1. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 1 / 31
PHP Frameworks
Apresentação para a Diretoria da Direta Sistemas
Junho/2014
2. 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 20 anos desenvolvendo sistemas e
aplicações com interface web, sendo 15 destes com PHP e 7
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
Quem?!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 2 / 31
3. Framework – Vantagens e desvantagens
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 3 / 31
↑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
4. 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 - 6/6/14 - 4 / 31
5. 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 - 6/6/14 - 5 / 31
12. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 12 / 31
↑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?
13. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 13 / 31
↑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?
14. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 14 / 31
↑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?
15. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 15 / 31
↑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?
16. 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 - 6/6/14 - 16 / 31
20. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 20 / 31
Configuração a nível de aplicação
Configuração de “ambientes”
21. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 21 / 31
Configuração a nível de aplicação
Módulos da aplicação
Configuração de “ambientes”
22. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 22 / 31
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”
23. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 23 / 31
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Configuração de “ambientes”
24. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 24 / 31
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Configuração de “ambientes”
25. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 25 / 31
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Models
Configuração de “ambientes”
26. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 26 / 31
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Models
Views
Configuração de “ambientes”
27. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 27 / 31
Configuração a nível de aplicação
Módulos da aplicação
Configuração a nível de Módulo
Código-fonte do Módulo
Controllers
Models
Views
Layout
Configuração de “ambientes”
28. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 28 / 31
Configuração a nível de aplicação
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
Configuração de “ambientes”
29. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 29 / 31
Configuração a nível de aplicação
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
Configuração de “ambientes”
30. Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 30 / 31
Configuração a nível de aplicação
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
Configuração de “ambientes”
31. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 31 / 31
Além disso...
Zend
Authentication Ldap
Cache Log
Console Mail
Crypt PermissionsAcl
EventManager Validator
Form
I8n
(...)