Introdução à Frameworks em PHP 
Prática com Zend Framework 2 
@Pauloelr
Sobre Mim 
“ 
Oi, Meu nome é Paulo Eduardo, 
Não, eu não estou usando sintetizador de voz @Pauloelr 
”
Um Pouco de História
1995 
Lançamento do PHP 1.0 
1998 
Lançamento do PHP 3.0 
Orientação a Objetos Primitiva 
2000 
Lançamento do PHP 4.0 
Zend Engine 
2009 
Lançamento do PHP 5.3 
Namespaces, Closures 
2004 
Lançamento do PHP 5.0 
PDO, SPL 
2012 
Lançamento do PHP 5.4 
Traits, Built-in Webserver 
2014 
Lançamento do PHP 5.6 
Variadic Functions, Argument Unpacking 
2013 
Lançamento do PHP 5.5 
Generators
Introdução a Frameworks
O Que é um Framework? 
Um conjunto de classes que constitui um projeto abstrato 
para a solução de uma família de problemas “ 
” Ralph Jonson 
Vantagens Desvantagens 
Próprio Mercado
Tipos de Frameworks
Micro-Frameworks 
Os micro-frameworks são essencialmente invólucros para rotear uma requisição HTTP 
para um callback, ou um controller, ou um método etc., da forma mais rápida possível, 
e algumas vezes possuem algumas bibliotecas para auxiliar no desenvolvimento, como 
por exemplo pacotes básicos para bancos de dados. 
Vantagens Desvantagens 
“ 
” PHP The Right Way
FullStack 
Muitos frameworks adicionam um número considerável de funcionalidades ao que está 
disponível em um micro-framework e são conhecidos como frameworks completos ou 
full-stack. Eles frequentemente possuem ORMs, pacotes de autenticação, entre outros 
componentes embutidos. 
Vantagens Desvantagens 
“ 
” PHP The Right Way
Componentizados 
Frameworks baseados em componentes são coleções de bibliotecas especializadas 
ou de propósito-único. Diferentes frameworks baseados em componentes podem ser 
utilizados conjuntamente para criar um micro-framework ou um framework completo. “ 
” PHP The Right Way 
Vantagens Desvantagens
Os Frameworks
Zend Framework 
Mantenedor: Zend Technologies 
Líder de Projeto: Matthew Weier O’Phinney 
Versão Atual: 2.3.3 
Licença: BSD 
2005 - Início do Projeto 
2007 - Versão 1.0 
2012 - Versão 2.0 
Performance: 
Curva de Aprendizado: 
Facilidade de Uso: 
Suporte da Comunidade: 
Qualidade da Documentação: 
Qualidade do Código: 
Cobertura de Testes 
Compatibilidade
Symfony 
Mantenedor: SensioLabs 
Lider de Projeto: Fabien Potencier 
Versão Atual: 2.5.6 
Licença: MIT 
2011 - Symfony 2.0 
2007 - Synfony 1.0 
2013 - Symfony 2.3 LTS 
Performance: 
Curva de Aprendizado: 
Facilidade de Uso: 
Suporte da Comunidade: 
Qualidade da Documentação: 
Qualidade do Código: 
Cobertura de Testes 
Compatibilidade
CakePHP 
Mantido pela Cake Software Foundations 
Líder de Projeto: Decisões em Grupo 
Versão Atual: 2.5.5 
Licença: MIT 
2005 - Inicio do Projeto 
2006 - CakePHP 1.0 
2011 - CakePHP 2.0 
Performance: 
Curva de Aprendizado: 
Facilidade de Uso: 
Suporte da Comunidade: 
Qualidade da Documentação: 
Qualidade do Código: 
Cobertura de Testes 
Compatibilidade
Laravel 
Mantido por Taylor Otwell 
Líder de Projeto: Taylor Otwell 
Versão Atual: 4.2 
Licença: MIT 
11/2011 - Laravel 2 
06/2011 - Laravel 1 
05/2013 - Laravel 4 
02/2012 - Laravel 3 
Performance: 
Curva de Aprendizado: 
Facilidade de Uso: 
Suporte da Comunidade: 
Qualidade da Documentação: 
Qualidade do Código: 
Cobertura de Testes 
Compatibilidade
CodeIgniter 
Criado pela ElisLab 
Mantido por British Columbia Institute of Technology 
Versão Atual: 2.2 
Licença: MIT 
2011 - Versão 2.0 
2006 - Versão 1.0 
2014 - Versão 2.2 
Performance: 
Curva de Aprendizado: 
Facilidade de Uso: 
Suporte da Comunidade: 
Qualidade da Documentação: 
Qualidade do Código: 
Cobertura de Testes 
Compatibilidade
Yii 
Mantido pela Yii Software 
Versão Atual: 2.0 
Licença: BSD 
2010 - Versão 1.1 
2008 - Versão 1.0 
2014 - Versão 2.0 
Performance: 
Curva de Aprendizado: 
Facilidade de Uso: 
Suporte da Comunidade: 
Qualidade da Documentação: 
Qualidade do Código: 
Cobertura de Testes 
Compatibilidade
Mais Alguns Números 
Fonte da Imagem: https://www.flickr.com/photos/arnisvanur/1225174402
Pesquisas por Termo no Google
Preparando o Ambiente 
Fonte da Imagem: https://www.flickr.com/photos/dedeandro/8214337320
Criando seu Projeto 
Fonte da Imagem: http://www.deviantart.com/art/Big-Five-Part-3-376266867
Criando o Esqueleto 
Criando seu Projeto com ZFTool 
zftool create project PhpspLocaweb 
Atualizando as Dependências 
cd PhpspLocaweb 
composer install
Let’s Code
Duvidas?
Obrigado a Todos 
Agradecimentos 
PHPSP 
Locaweb 
Augusto Pascutti

Introdução a Frameworks

  • 1.
    Introdução à Frameworksem PHP Prática com Zend Framework 2 @Pauloelr
  • 2.
    Sobre Mim “ Oi, Meu nome é Paulo Eduardo, Não, eu não estou usando sintetizador de voz @Pauloelr ”
  • 3.
    Um Pouco deHistória
  • 4.
    1995 Lançamento doPHP 1.0 1998 Lançamento do PHP 3.0 Orientação a Objetos Primitiva 2000 Lançamento do PHP 4.0 Zend Engine 2009 Lançamento do PHP 5.3 Namespaces, Closures 2004 Lançamento do PHP 5.0 PDO, SPL 2012 Lançamento do PHP 5.4 Traits, Built-in Webserver 2014 Lançamento do PHP 5.6 Variadic Functions, Argument Unpacking 2013 Lançamento do PHP 5.5 Generators
  • 5.
  • 6.
    O Que éum Framework? Um conjunto de classes que constitui um projeto abstrato para a solução de uma família de problemas “ ” Ralph Jonson Vantagens Desvantagens Próprio Mercado
  • 7.
  • 8.
    Micro-Frameworks Os micro-frameworkssão essencialmente invólucros para rotear uma requisição HTTP para um callback, ou um controller, ou um método etc., da forma mais rápida possível, e algumas vezes possuem algumas bibliotecas para auxiliar no desenvolvimento, como por exemplo pacotes básicos para bancos de dados. Vantagens Desvantagens “ ” PHP The Right Way
  • 9.
    FullStack Muitos frameworksadicionam um número considerável de funcionalidades ao que está disponível em um micro-framework e são conhecidos como frameworks completos ou full-stack. Eles frequentemente possuem ORMs, pacotes de autenticação, entre outros componentes embutidos. Vantagens Desvantagens “ ” PHP The Right Way
  • 10.
    Componentizados Frameworks baseadosem componentes são coleções de bibliotecas especializadas ou de propósito-único. Diferentes frameworks baseados em componentes podem ser utilizados conjuntamente para criar um micro-framework ou um framework completo. “ ” PHP The Right Way Vantagens Desvantagens
  • 11.
  • 12.
    Zend Framework Mantenedor:Zend Technologies Líder de Projeto: Matthew Weier O’Phinney Versão Atual: 2.3.3 Licença: BSD 2005 - Início do Projeto 2007 - Versão 1.0 2012 - Versão 2.0 Performance: Curva de Aprendizado: Facilidade de Uso: Suporte da Comunidade: Qualidade da Documentação: Qualidade do Código: Cobertura de Testes Compatibilidade
  • 13.
    Symfony Mantenedor: SensioLabs Lider de Projeto: Fabien Potencier Versão Atual: 2.5.6 Licença: MIT 2011 - Symfony 2.0 2007 - Synfony 1.0 2013 - Symfony 2.3 LTS Performance: Curva de Aprendizado: Facilidade de Uso: Suporte da Comunidade: Qualidade da Documentação: Qualidade do Código: Cobertura de Testes Compatibilidade
  • 14.
    CakePHP Mantido pelaCake Software Foundations Líder de Projeto: Decisões em Grupo Versão Atual: 2.5.5 Licença: MIT 2005 - Inicio do Projeto 2006 - CakePHP 1.0 2011 - CakePHP 2.0 Performance: Curva de Aprendizado: Facilidade de Uso: Suporte da Comunidade: Qualidade da Documentação: Qualidade do Código: Cobertura de Testes Compatibilidade
  • 15.
    Laravel Mantido porTaylor Otwell Líder de Projeto: Taylor Otwell Versão Atual: 4.2 Licença: MIT 11/2011 - Laravel 2 06/2011 - Laravel 1 05/2013 - Laravel 4 02/2012 - Laravel 3 Performance: Curva de Aprendizado: Facilidade de Uso: Suporte da Comunidade: Qualidade da Documentação: Qualidade do Código: Cobertura de Testes Compatibilidade
  • 16.
    CodeIgniter Criado pelaElisLab Mantido por British Columbia Institute of Technology Versão Atual: 2.2 Licença: MIT 2011 - Versão 2.0 2006 - Versão 1.0 2014 - Versão 2.2 Performance: Curva de Aprendizado: Facilidade de Uso: Suporte da Comunidade: Qualidade da Documentação: Qualidade do Código: Cobertura de Testes Compatibilidade
  • 17.
    Yii Mantido pelaYii Software Versão Atual: 2.0 Licença: BSD 2010 - Versão 1.1 2008 - Versão 1.0 2014 - Versão 2.0 Performance: Curva de Aprendizado: Facilidade de Uso: Suporte da Comunidade: Qualidade da Documentação: Qualidade do Código: Cobertura de Testes Compatibilidade
  • 18.
    Mais Alguns Números Fonte da Imagem: https://www.flickr.com/photos/arnisvanur/1225174402
  • 19.
  • 20.
    Preparando o Ambiente Fonte da Imagem: https://www.flickr.com/photos/dedeandro/8214337320
  • 22.
    Criando seu Projeto Fonte da Imagem: http://www.deviantart.com/art/Big-Five-Part-3-376266867
  • 23.
    Criando o Esqueleto Criando seu Projeto com ZFTool zftool create project PhpspLocaweb Atualizando as Dependências cd PhpspLocaweb composer install
  • 24.
  • 25.
  • 26.
    Obrigado a Todos Agradecimentos PHPSP Locaweb Augusto Pascutti