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
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
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
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
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
FrameWARks
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 6 / 31
Zend Framework
CodeIgniter
Symfony
Yii
Kohana
Prado
Cakephp
FrameWARks
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 7 / 31
Zend Framework
CodeIgniter
Symfony
Yii
Kohana
Prado
Cakephp
FrameWARks
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 8 / 31
Zend Framework
CodeIgniter
Symfony
Yii
Kohana
Prado
Cakephp
FrameWARks
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 9 / 31
Zend Framework
CodeIgniter
Symfony
Yii
Kohana
Prado
Cakephp
FrameWARks
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 10 / 31
Zend Framework
CodeIgniter
Symfony
Yii
Kohana
Prado
Cakephp
FrameWARks
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 11 / 31
Zend Framework
CodeIgniter
Symfony
Yii
Kohana
Prado
Cakephp
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?
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?
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?
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?
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
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 17 / 31
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 18 / 31
Setup inicial
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 6/6/14 - 19 / 31
Configuração a nível de aplicação
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”
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”
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”
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”
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”
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”
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”
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”
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”
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”
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”
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
(...)

Apresentacao frameworks

  • 1.
    CC Attribution-ShareAlike 3.0Unported 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 – Vantagense 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 FrameworksPHP 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
  • 6.
    FrameWARks CC Attribution-ShareAlike 3.0Unported License by Er Galvão Abbott - 6/6/14 - 6 / 31 Zend Framework CodeIgniter Symfony Yii Kohana Prado Cakephp
  • 7.
    FrameWARks CC Attribution-ShareAlike 3.0Unported License by Er Galvão Abbott - 6/6/14 - 7 / 31 Zend Framework CodeIgniter Symfony Yii Kohana Prado Cakephp
  • 8.
    FrameWARks CC Attribution-ShareAlike 3.0Unported License by Er Galvão Abbott - 6/6/14 - 8 / 31 Zend Framework CodeIgniter Symfony Yii Kohana Prado Cakephp
  • 9.
    FrameWARks CC Attribution-ShareAlike 3.0Unported License by Er Galvão Abbott - 6/6/14 - 9 / 31 Zend Framework CodeIgniter Symfony Yii Kohana Prado Cakephp
  • 10.
    FrameWARks CC Attribution-ShareAlike 3.0Unported License by Er Galvão Abbott - 6/6/14 - 10 / 31 Zend Framework CodeIgniter Symfony Yii Kohana Prado Cakephp
  • 11.
    FrameWARks CC Attribution-ShareAlike 3.0Unported License by Er Galvão Abbott - 6/6/14 - 11 / 31 Zend Framework CodeIgniter Symfony Yii Kohana Prado Cakephp
  • 12.
    CC Attribution-ShareAlike 3.0Unported 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.0Unported 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.0Unported 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.0Unported 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? OpenSource 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
  • 17.
    Setup inicial CC Attribution-ShareAlike3.0 Unported License by Er Galvão Abbott - 6/6/14 - 17 / 31
  • 18.
    Setup inicial CC Attribution-ShareAlike3.0 Unported License by Er Galvão Abbott - 6/6/14 - 18 / 31
  • 19.
    Setup inicial CC Attribution-ShareAlike3.0 Unported License by Er Galvão Abbott - 6/6/14 - 19 / 31 Configuração a nível de aplicação
  • 20.
    Setup inicial CC Attribution-ShareAlike3.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-ShareAlike3.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-ShareAlike3.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-ShareAlike3.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-ShareAlike3.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-ShareAlike3.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-ShareAlike3.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-ShareAlike3.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-ShareAlike3.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-ShareAlike3.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-ShareAlike3.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.0Unported 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 (...)