SlideShare a Scribd company logo
1 of 146
Download to read offline
PHP
Frameworks
  Augusto Pascutti
@AUGUSTOHP
AUGUSTO@PHPSP.ORG.BR
AGENDA
AGENDA


• PHP

• Frameworks

• Principais   Frameworks PHP
PHP
PHP


• Criado   em 1995

• Versão   atual: 5.3.5

• Software     livre
CRESCIMENTO DO PHP
CRESCIMENTO DO PHP

       1995


              • Versão   1.0

              • Rasmus      Lerdorf

              • PERL

              • Personal   Home Pages
CRESCIMENTO DO PHP

     1998

            • Versão   3.0

            • Zeev     + Andi

            • PHP: Hypertext     Preprocessor

            • Orientação     a Objetos

            • PHPClasses.org
CRESCIMENTO DO PHP

     2000



            • Versão   4.0

            • Zend     Engine

            • Estabelecimento   no mercado
CRESCIMENTO DO PHP

 2004

          • Versão   5.0

          • Zend     Engine 2

          • Novo   modelo de objetos

          • Melhora   na Performance

          • PDO    e SPL
CRESCIMENTO DO PHP

2009


       • Versão   5.3

       • Namespaces, Closures, Garbage
        Collector (Ref. Cicl.), Phar, etc ...

       • Windows++

       • Performance++
CRESCIMENTO DO PHP

 Futuro
          • Versão   5.4 ou 6.0
          • Segurança

          • Traits

          • Type   Hints
          • “Briguinhas”:

           • Annotations

           • Unicode
E QUANTO AO
    SEU
CRESCIMENTO ?
ONDE VOCÊ ESTÁ?

                                  Sobrinho


                                             • Copiou,

                                             • Colou,

                                             • Funcionou?

                                             • Beleza!
Autor: Flávio Gomes da Silva Lisboa
ONDE VOCÊ ESTÁ?

   Júnior



            • Pouca   experiência

            • Muita   força de vontade

            • Curiosidade
ONDE VOCÊ ESTÁ?

   Pleno



           • Conhecem    suas limitações

           • Buscam   soluções

           • Aprendem   com seus erros
ONDE VOCÊ ESTÁ?

Sênior


         • Segurança   em seu trabalho

         • Conhecem     as soluções

         • Muita   experiência

         • Aprendem     com erros alheios
ONDE VOCÊ ESTÁ?

Chuck Norris



               • Forçam   o desenvolvimento do PHP

               • Contribuem

               • Distribuem
ONDE VOCÊ ESTÁ?

Core developers
                  • Fazem   sua própria cerveja
                  • Não   dormem
                  • Criam   o que demoramos a aprender
                  • Estão   sempre dispostos a ajudar
POR QUE ELE TA FALANDO ISSO ?
SÓ VOCÊ
 PODE SE
AJUDAR.
SUA
EVOLUÇÃO
DEPENDE SÓ
 DE VOCÊ.
FRAMEWORKS
FRAMEWORKS

 “... são uma abstração que
une códigos comuns entre
vários projetos provendo uma
        funcionalidade
           genérica.”
                      Wikipedia
EXISTEM TIPOS?
EXISTEM TIPOS?


• Bibliotecas     (Ex: Pear, Zeta Components)

• Frameworks

 • Restritivos   (Ex: CakePHP)

 • Baixo Acoplamento     (Ex: Zend Framework)
PORQUE ADOTAR UM?
PORQUE ADOTAR UM?


• Código   testado/testável

• Grande   base de uso

• Experiência    agregada

• Foque   no que importa: Regras de Negócio
QUEM USA?
QUEM USA?
PORQUE NÃO ADOTAR?
PORQUE NÃO ADOTAR?


• Performance

• Curva   de aprendizado

• Dependência
“FRAMEWORKS PHP POSSUEM
UMA PERFORMANCE POBRE ...”
               Rasmus Lerdorf, 2005
COMPARADOS
AO PHP (PURO),
    SIM ...
... MAS E A
MANUTENÇÃO
 DESSE CÓDIGO?
“ ... 97% DO TEMPO, A OTIMIZAÇÃO
PREMATURA É A RAIZ DE TODO MAL.”
                         Donald Knuth
“ ... 97% DO TEMPO, A OTIMIZAÇÃO
PREMATURA É A RAIZ DE TODO MAL.”
                         Donald Knuth
HARDWARE,
 HOJE, É MUITO
MAIS BARATO
  DO QUE AS
 HORAS DE UM
PROFISSIONAL
O QUE ELE FARÁ POR VOCÊ


• Agiliza   desenvolvimento

• Melhora   segurança

• Melhora   establidade
O QUE ELE NÃO FARÁ


• Melhorará   seu código

• Evitará   que cometa erros

• Garantirá   o sucesso do seu projeto
TER TUDO
 QUE VOCÊ
 PRECISA
PRA FAZER
UMA CASA...
NÃO
 SIGNIFICA
 QUE VOCÊ É
 CAPAZ DE
CONSTRUIR
    UMA.
COMO ESCOLHER?
COMO ESCOLHER?

• Quem   é o líder?

• Documentação

• Tamanho   da comunidade

• Atividade   do Projeto

• Comprometimento     com o PHP
QUEM É O LÍDER?
QUEM É O LÍDER?


• Empresa, Pessoa   ou Grupo

• Você   vai depender dele/dela

• Com    que frequência ele muda de idéia? (BC)

• Sucesso   do projeto (Framework) depende disso
O BUG #50696 E VOCÊ!
O BUG #50696 E VOCÊ!


• Depois   da atualização para o PHP 5.3

 • number_format(“”, 0)    = null

• Antes   da atualização

 • number_format(“”,0)     = 0 (zero)
Eu sou o Rasmus!
E eu o programador “afetado”
Esse comportamento ... é um bug certo?
Não. Meu! Esse seu código não gera
WARNINGS não!? Meio non-sense ele!
Ok. Você não me entendeu.
Isso funcionava desde o princípio!
Eu entendi. Mas mudamos isso pra corrigir
  bugs esquisitos em casos esquisitos ....
Resumindo, vocês me fude***!
Qual a razão disso? Você acha que alguém
        tem NULL reais na conta?
Não! Você pode corrigir tudo isso assim ...
Meu, vão levar MESES pra mudar tudo!
Você ta sendo um pouco dramático ...
Meu, você não tem noção do que você ta
                falando.
Trabalho numa grande organização! Você não
               tem noção.
Acredite. Eu tenho.
Entendi. O seu ambiente é maior..
Provavelmente muito mais crítico!
Cara, não tem como você passar pra alguém
             mais capacitado?
Quem dera eu tivesse amigo. Quem dera eu
                 tivesse.
DOCUMENTAÇÃO
DOCUMENTAÇÃO


• Tão   fundamental quanto o código que move o framework

• Atualizada    regularmente?

• Tão   extensa quanto o projeto?

•É   objetiva e bem organizada?
COMUNIDADE
COMUNIDADE
•É   a alternativa à documentação

• Quanto    tempo ela tem?

• Quão    forte ela é?

  • Ela   é escutada pelo(s) líder(es)?

  • Quantas    pessoas você conhece que usam o framework?

  • Google!

• Qual    a relação dela com o projeto? (Commits, etc ...)
ATIVIDADE
ATIVIDADE

• Qual   a frequêcia de desenvolvimento?

  • Diária   é o que eu esperaria

• Quão    rápido um bug é encontrado/corrigido?

• Quão    frequente são os novos releases?

• Quais   são os planos futuros?
ATIVIDADE
• Como   ver isso?

 • Frequência   de commits

 • Roadmap

 • Sistema   de tickets/bugs

   • Quantos    abertos?

   • Quantos    resolvidos?

 • Ohloh
COMPROMETIMENTO COM
       PHP
COMPROMETIMENTO COM
            PHP


•O   projeto acompanha as mudanças do PHP?

• Qual   a relação dos líderes com o desenvolvimento do PHP?

• Quão   informados eles estão sobre a direção do PHP?
EU TENHO O
    MEU
FRAMEWORK
CUIDADO
SEU FRAMEWORK

• Fora   você, os outros sofrerão com a curva de aprendizado

• Documentação?

• Base   de usuários?

• Ajuda?

• Testes   Unitários?

• Boas   práticas?
SEU FRAMEWORK

• Válido   em poucos casos (poucos mesmo)

  • Aplicações   específicas

    • Base   de acesso é MUITO grande (Ex: Facebook)

    • Processamento    de dados MUITO grande

• Sempre    válido como aprendizado
PRINCIPAIS FRAMEWORKS
PRINCIPAIS FRAMEWORKS
• Mais   tempo de casa

• Maior   base de usuários

• Mais   cases de sucesso

• Respeitam     os usuários

• Todos   são MVC

• Satisfazem     os requisitos que levantei a pouco

  • Ótima   documentação e Atividade
QUEM
 SÃO
ELES?
QUAL A
POPULARIDADE
   DE CADA?
Buscas no Google
100

 90

 80

 70

 60
             Zend Framework   CakePHP    Symfony      Code Igniter
 50

 40

 30

 20

 10

  0
      2006         2007           2008             2009              2010

                                                          Fonte: Google Trends
TwtPool
40




30




20




10




 0
                                Usam

     Zend Framework   CakePHP    Code Igniter   Symfony        Outro

                                                          http://twtpoll.com/r/d1ulz2
VAMOS AOS
   NOSSOS
CONCORRENTES
http://cakephp.org/
CAKEPHP

• Produção      rápida (Bake)

• Baixa   curva de aprendizado (Piece of Cake)

• Equivalente    ao Rails

• Active   Record

• PHP   4.3.2

• Funciona   em qualquer hospedagem
CAKEPHP


• Restritivo

• Código      fonte poluído

  • Muito     grande. Difícil manutenção

  • Difícil   de testar
QUEM É O LÍDER?
QUEM É O LÍDER?


• Cake   Software Foundation

• Antigo   core-developer Nate Abele (agora Lithium)

• Core   atual

  • Grupo    eleito meritocraticamente
COMUNIDADE
COMUNIDADE

• Muito   próxima do desenvolvimento

• Portais   do próprio CakePHP

  • Bakery, Google   Groups, Planet, Tv

• Comunidade     brasileira madura e forte

• @renansaddan    (Core developer brasileiro)
ATIVIDADE
ATIVIDADE


• Atual   1.3.6

• Futura   2.0 (já disponível, instável)

  • Compatível     só com PHP 5
COMPROMETIMENTO COM
       PHP
COMPROMETIMENTO COM
            PHP

• Pequeno

• Muito   tempo compatível com versão 4 (ainda é)

• Possuem   tendências de seguir Strict Standards

• Não   seguem as recomendações (PSR)
http://framework.zend.com/
ZEND FRAMEWORK
• Baixo   acoplamento (Componentes)
• Código   fonte limpo: Design Patterns
• Empresas   envolvidas: Google, Adobe
• Componentes      (centenas)
• Muito   testado! Testes, Testes e mais Testes!
• Enterprise    focused
• PHP   5.2 >
ZEND FRAMEWORK

• Não   possui camada de Model explícita

• Configurações    e mais configurações (Muitas. Mesmo!)

• Curva   de aprendizado variável

• Pouca   documentação de uso na forma Full Stack

  • Má    utilização do framework (geralmente)
QUEM É O LÍDER?
QUEM É O LÍDER?



• Zend   (empresa mantenedora do PHP)

• Matt Weier   O’Phinney (funcionário Zend)
COMUNIDADE
COMUNIDADE

• Muito   próxima do desenvolvimento

• Influencia   ativamente no desenvolvimento

  • Propostas, Bug-hunts, Patches, etc   ...

• Muito   grande nos últimos 2 anos

  • Um    tanto quanto imatura ainda (opinião pessoal)
ATIVIDADE
ATIVIDADE


• Atual   1.11.2

• Futura   2.0 (em desenvolvimento, passos largos)

  • Compatível     só com PHP 5.3 >
COMPROMETIMENTO COM
       PHP
COMPROMETIMENTO COM
             PHP

• Não   preciso comentar, preciso?

• Strict   Standards

  • Versão    1.x ( PHP 5>)

  • Versão    2.x (PHP 5.3>)

• PHP   Standards Recomendations (PSR)
http://symfony-project.org/
SYMFONY

• Segurança     e boas práticas

• Código   fonte limpo: Design Patterns

• Desenvolvimento      rápido (ferramenta CLI)

• ORM    (Doctrine ou Propel)

• PHP   5.2 >
SYMFONY


• Mais   configurações que Cake e Code Igniter

• Curva   de aprendizado um pouco maior

• Mudanças    repentinas no projeto já ocorreram
QUEM É O LÍDER?
QUEM É O LÍDER?


• Fabien   Potencier

  • Atual “Rock   Star” do PHP

  • Seu    lema atual: “Dependecy Injection”

• Sensio   Labs (Empresa, presta suporte)
COMUNIDADE
COMUNIDADE


• Pequena   relativa aos demais

• Amparada   pelo projeto

  • Diretório   de plugins, bloggers, Wiki
ATIVIDADE
ATIVIDADE

• Atual   1.4

• Futura   2.0 (em desenvolvimento, programada para 03/2011)

  • Compatível   só com PHP 5.3 >

  • Performance++

  • Muito   baseada no Cocoa (Apple)
COMPROMETIMENTO COM
       PHP
COMPROMETIMENTO COM
             PHP

• Muito    próxima

• Strict   Standards

• PHP   Standards Recomendations (PSR)

  • Fabien    faz parte do próprio grupo

• Contribuem     ativamente com o desenvolvimento do PHP
http://codeigniter.com/
CODE IGNITER
• Small   footprint

• Restritivo   (não tanto quanto Cake)

• Baixa   curva de aprendizado

• Performance

• ORM     próprio

• PHP   4.3.2 >

• Funciona     em qualquer hospedagem
QUEM É O LÍDER?
QUEM É O LÍDER?


• Ellis   Lab

   • Usam       o “CI” como base para produtos próprios

• Problemas       recorrentes com a comunidade
COMUNIDADE
COMUNIDADE


• Próxima   do desenvolvimento do framework

• Decisões   finais sempre da Ellis Lab

• Madura    e grande (também no Brasil)
ATIVIDADE
ATIVIDADE

• Atual   1.7.3

• Futura   2.0 (em desenvolvimento)

  • Compatível      com PHP 5.2 >

  • Branches      separados

    • Comunidade, mas         ainda controlada pela Ellis Lab (Reactor)

    • Ellis   Lab (Core)
COMPROMETIMENTO COM
       PHP
COMPROMETIMENTO COM
           PHP

• Pequeno

• Sem   propostas (atuais e futuras) de seguir Strict Standards

• Não   seguem as recomendações (PSR)

• Não   contribuem muito com o desenvolvimento da linguagem
RESUMINDO
VOCÊ QUER
DESENVOLVER
  AS COISAS
  RÁPIDO
BAIXA CURVA
      DE
APRENDIZADO
   E MUITO
 RESULTADO
ESSES SÃO OS CARAS




Performance++   Produção++
VOCÊ QUER
  ALTO
CONTROLE
  SOBRE
  TUDO
CÓDIGO
  BEM FEITO E
DOCUMENTADO
ESSES É O CARA
VOCÊ SE
 PREOCUPA
COM TUDO
   ISSO?
QUER O
MEIO-TERMO?
ESSES É O CARA
PHP Frameworks: CakePHP, Zend Framework e Symfony

More Related Content

What's hot

CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1Norivan Oliveira
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX Sérgio Souza Costa
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zeroFred Ramos
 
Apresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPApresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPLorranna Machado
 
Apresentação php
Apresentação phpApresentação php
Apresentação phpwilliameier
 
Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao phpAdriano Castro
 
Engenharia rever sa mentebinaria
Engenharia rever sa   mentebinariaEngenharia rever sa   mentebinaria
Engenharia rever sa mentebinariaPatrese Renan
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyRelsi Maron
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
Entendendo Conceitos Caching com PHP
Entendendo Conceitos Caching com PHPEntendendo Conceitos Caching com PHP
Entendendo Conceitos Caching com PHPAdler Medrado
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoNorton Guimarães
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Willian Magalhães
 

What's hot (20)

PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
PHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHPPHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHP
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zero
 
Apresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPApresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHP
 
Apresentação php
Apresentação phpApresentação php
Apresentação php
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao php
 
Engenharia rever sa mentebinaria
Engenharia rever sa   mentebinariaEngenharia rever sa   mentebinaria
Engenharia rever sa mentebinaria
 
Guia php
Guia phpGuia php
Guia php
 
PHP Além da universidade
PHP Além da universidadePHP Além da universidade
PHP Além da universidade
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Entendendo Conceitos Caching com PHP
Entendendo Conceitos Caching com PHPEntendendo Conceitos Caching com PHP
Entendendo Conceitos Caching com PHP
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Primeira Aula PHP
Primeira Aula PHPPrimeira Aula PHP
Primeira Aula PHP
 

Viewers also liked

Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHPAugusto Pascutti
 
Integração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsIntegração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsGilmar Pupo
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Phpsofteam
 
Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3klaussilveira
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)George Mendonça
 
Tuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedoresTuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedoresDouglas V. Pasqua
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidosCrishna Irion
 
Your code sucks, let's fix it! - php|tek13
Your code sucks, let's fix it! - php|tek13Your code sucks, let's fix it! - php|tek13
Your code sucks, let's fix it! - php|tek13Rafael Dohms
 
Php5 Orientado A Objetos
Php5 Orientado A ObjetosPhp5 Orientado A Objetos
Php5 Orientado A ObjetosRápido Site
 
PHP Orientado a Objetos - 1a Parte
PHP Orientado a Objetos - 1a PartePHP Orientado a Objetos - 1a Parte
PHP Orientado a Objetos - 1a ParteJonata Weber
 
Engenharia de software para Web
Engenharia de software para WebEngenharia de software para Web
Engenharia de software para WebIuri Matos
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
Introdução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxIntrodução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxOtávio Calaça Xavier
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVCMichael Douglas
 
QGIS 2.8: Classificação de Campos com Python
QGIS 2.8: Classificação de Campos com PythonQGIS 2.8: Classificação de Campos com Python
QGIS 2.8: Classificação de Campos com PythonJorge Santos
 

Viewers also liked (20)

Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
 
Integração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsIntegração contínua em PHP com Jenkins
Integração contínua em PHP com Jenkins
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Php
 
Python
PythonPython
Python
 
Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
 
Tuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedoresTuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedores
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Your code sucks, let's fix it! - php|tek13
Your code sucks, let's fix it! - php|tek13Your code sucks, let's fix it! - php|tek13
Your code sucks, let's fix it! - php|tek13
 
Aula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQLAula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQL
 
Php5 Orientado A Objetos
Php5 Orientado A ObjetosPhp5 Orientado A Objetos
Php5 Orientado A Objetos
 
PHP Orientado a Objetos - 1a Parte
PHP Orientado a Objetos - 1a PartePHP Orientado a Objetos - 1a Parte
PHP Orientado a Objetos - 1a Parte
 
Engenharia de software para Web
Engenharia de software para WebEngenharia de software para Web
Engenharia de software para Web
 
Arquitetura MVC
Arquitetura MVCArquitetura MVC
Arquitetura MVC
 
PHP Orientado a Objetos
PHP Orientado a ObjetosPHP Orientado a Objetos
PHP Orientado a Objetos
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
Introdução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxIntrodução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com Ajax
 
Rumo à Certificação PHP
Rumo à Certificação PHPRumo à Certificação PHP
Rumo à Certificação PHP
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVC
 
QGIS 2.8: Classificação de Campos com Python
QGIS 2.8: Classificação de Campos com PythonQGIS 2.8: Classificação de Campos com Python
QGIS 2.8: Classificação de Campos com Python
 

Similar to PHP Frameworks: CakePHP, Zend Framework e Symfony

Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de DesenvolvimentoAlvaro Viebrantz
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoAlexandre Andrade
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?tdc-globalcode
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraCDS
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Aprensentacao oo-trincheiras
Aprensentacao oo-trincheirasAprensentacao oo-trincheiras
Aprensentacao oo-trincheirasHigor César
 
Trilhando o caminho PHP [2.0]
Trilhando o caminho PHP [2.0]Trilhando o caminho PHP [2.0]
Trilhando o caminho PHP [2.0]Rafael Dohms
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de TrabalhoEduardo Carvalho
 
Palestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkPalestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkJosemar Davi Luedke
 
Git e a importância de versionar um projeto
 Git e a importância de versionar um projeto Git e a importância de versionar um projeto
Git e a importância de versionar um projetoGuilherme Farias
 
AspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performanceAspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performanceJosé Roberto Araújo
 
Locaweb + Spree: transformando código aberto em um projeto comercial
Locaweb + Spree: transformando código aberto em um projeto comercialLocaweb + Spree: transformando código aberto em um projeto comercial
Locaweb + Spree: transformando código aberto em um projeto comercialFernando Hamasaki de Amorim
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Rogerio Prado de Jesus
 
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...Mario Guedes
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsRafael Salerno de Oliveira
 

Similar to PHP Frameworks: CakePHP, Zend Framework e Symfony (20)

Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinho
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infra
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Aprensentacao oo-trincheiras
Aprensentacao oo-trincheirasAprensentacao oo-trincheiras
Aprensentacao oo-trincheiras
 
Trilhando o caminho PHP [2.0]
Trilhando o caminho PHP [2.0]Trilhando o caminho PHP [2.0]
Trilhando o caminho PHP [2.0]
 
Potencializando a qualidade de código
Potencializando a qualidade de códigoPotencializando a qualidade de código
Potencializando a qualidade de código
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de Trabalho
 
Palestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkPalestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o Zeanwork
 
Git e a importância de versionar um projeto
 Git e a importância de versionar um projeto Git e a importância de versionar um projeto
Git e a importância de versionar um projeto
 
AspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performanceAspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performance
 
Locaweb + Spree: transformando código aberto em um projeto comercial
Locaweb + Spree: transformando código aberto em um projeto comercialLocaweb + Spree: transformando código aberto em um projeto comercial
Locaweb + Spree: transformando código aberto em um projeto comercial
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012
 
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
 

More from Augusto Pascutti

Melhorando sua API com DSLs
Melhorando sua API com DSLsMelhorando sua API com DSLs
Melhorando sua API com DSLsAugusto Pascutti
 
Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Augusto Pascutti
 
TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)Augusto Pascutti
 
Guia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeGuia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeAugusto Pascutti
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHPAugusto Pascutti
 
SfCon: Test Driven Development
SfCon: Test Driven DevelopmentSfCon: Test Driven Development
SfCon: Test Driven DevelopmentAugusto Pascutti
 
Como escalar aplicações PHP
Como escalar aplicações PHPComo escalar aplicações PHP
Como escalar aplicações PHPAugusto Pascutti
 
PHP - O que, porquê e como
PHP - O que, porquê e comoPHP - O que, porquê e como
PHP - O que, porquê e comoAugusto Pascutti
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorAugusto Pascutti
 
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!Augusto Pascutti
 
Boas Práticas, Práticas !
Boas Práticas, Práticas !Boas Práticas, Práticas !
Boas Práticas, Práticas !Augusto Pascutti
 
Mão na Massa: Orientação a Objetos na Prática
Mão na Massa: Orientação a Objetos na PráticaMão na Massa: Orientação a Objetos na Prática
Mão na Massa: Orientação a Objetos na PráticaAugusto Pascutti
 

More from Augusto Pascutti (20)

Errors
ErrorsErrors
Errors
 
Melhorando sua API com DSLs
Melhorando sua API com DSLsMelhorando sua API com DSLs
Melhorando sua API com DSLs
 
Porque VIM?
Porque VIM?Porque VIM?
Porque VIM?
 
Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.
 
TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)
 
Guia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeGuia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidade
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHP
 
SfCon: Test Driven Development
SfCon: Test Driven DevelopmentSfCon: Test Driven Development
SfCon: Test Driven Development
 
Orientação a objetos v2
Orientação a objetos v2Orientação a objetos v2
Orientação a objetos v2
 
Under engineer
Under engineerUnder engineer
Under engineer
 
Como escalar aplicações PHP
Como escalar aplicações PHPComo escalar aplicações PHP
Como escalar aplicações PHP
 
The small things
The small thingsThe small things
The small things
 
Somos jardineiros
Somos jardineirosSomos jardineiros
Somos jardineiros
 
PHP - O que, porquê e como
PHP - O que, porquê e comoPHP - O que, porquê e como
PHP - O que, porquê e como
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhor
 
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Boas Práticas, Práticas !
Boas Práticas, Práticas !Boas Práticas, Práticas !
Boas Práticas, Práticas !
 
Mitos do PHP
Mitos do PHPMitos do PHP
Mitos do PHP
 
Mão na Massa: Orientação a Objetos na Prática
Mão na Massa: Orientação a Objetos na PráticaMão na Massa: Orientação a Objetos na Prática
Mão na Massa: Orientação a Objetos na Prática
 

PHP Frameworks: CakePHP, Zend Framework e Symfony