SlideShare uma empresa Scribd logo
1 de 70
Fernando Geraldo Mantoan




PHP,
Mercado e 
Certificações


                            
PHP




     
PHP



Rasmus Lerdorf ­ 1994




                 
PHP



Rasmus Lerdorf ­ 1994

     Andi Gutmans e 
    Zeev Suraski ­ 1998

                    
PHP



Rasmus Lerdorf ­ 1994

     Andi Gutmans e 
    Zeev Suraski ­ 1998
              Zend Engine (PHP4)
 
             Zend Engine 2 (PHP5+)
                    
Evolução




        
PHP 4

    <?php
    class pessoa {
       var $nome;
       function pessoa() {
           $this­>nome = “fernando”;
       }
    }
    $fernando = new pessoa();
    $joao = new pessoa();
    $joao­>nome = “joao”;
    ?>

                                    
PHP 4
    ●   Zend Engine;
    ●   Melhor performance e modularidade;
    ●   Sessões;
    ●   Suporte a diversos servidores web;
    ●   Abstração da API.




                               
PHP 5
<?php
class pessoa {}
class colaborador extends pessoa {
   private $nome;
   public function __construct() {
       $this­>nome = “fernando”;
   }
   public function __get($propriedade) {
       return $this­>$propriedade;
   }
}
$fernando = new colaborador();
echo $fernando­>nome;
?>
                                  
PHP 5
    ●   Zend Engine II e suporte melhorado à 
        orientação a objetos (__toString, __construct, 
        modificadores de acesso, etc...);
    ●   Suporte a XML re­escrito;
    ●   Extensão nativa para SOAP;
    ●   mysqli (prepared statements e orientação a 
        objetos);
    ●   Streams melhoradas.
                                
PHP 5.3


    <?php
    //lambdas e closures
    $olaMundo = function($nome) {
        echo “ola mundo: {$nome}”;
    };
    $olaMundo('fernando');



                            
PHP 5.3

    <?php
    //namespaces.php
    namespace myname
    class MinhaClasse {}
    ?>
    <?php
    //uso.php
    require_once 'namespaces.php';
    $classe = new mynameMinhaClasse;
    ?>
                          
PHP 5.3
    ●   Late Static Binding;
    ●   NOWDOC;
    ●   __callStatic();
    ●   Garbage collection para referências cíclicas;
    ●   Melhoria ao suporte ao SO Windows;
    ●   PHAR, intl, Fileinfo, sqlite3;
    ●   140 Bugfixes e melhorias a extensões;
    ●   GOTO.
                                   
PHP 6


    ●   Unicode;
    ●   Internacionalização.




                                
Ferramentas




          
     
     
     
     
Frameworks




         
     
     
     
     
Mercado




        
Segundo a Tiobe...




                      
Empresas de fora




            
     
     
     
     
Empresas de Foz




            
     
     
Mercado

    A demanda 
      existe...




                   
Mercado

    A demanda 
      existe...

                  Faltam profissionais 
                     qualificados...


                      
Mercado

    A demanda 
      existe...

                  Faltam profissionais 
                     qualificados...
 Todo mundo pode aprender 
PHP, mas código de qualidade 
 
   é difícil de se encontrar!
                      
Perfis Profissionais




              
Perfis

Os perfis comuns de profissionais são...




                    
Perfis

Os perfis comuns de profissionais são...

     Sobrinhos e 
     avançados




                     
Perfis

Os perfis comuns de profissionais são...

   Sobrinhos e 
    avançados
  Sobrinhos são 
baratos mas pecam 
  no código e na 
   estabilidade
                    
Perfis

Os perfis comuns de profissionais são...

     Sobrinhos e 
     avançados     Desenvolvedores 
                    avançados são 
  Sobrinhos são 
                     caros, porém 
baratos mas pecam 
                     garantem seu 
  no código e na 
                       trabalho!
   estabilidade
                     
Dicas




       
Abstração com o Banco de Dados
    ●   PDO é uma grande aliada pois:
        ●   Possui prepared statements;
        ●   É nativa do PHP;
        ●   Camada de abstração de bancos distintos 
            (PostgreSQL, MySQL, SQLite, etc...);
    ●   Doctrine é um ORM muito robusto:
        ●   Possui a DQL (Doctrine Query Language);
        ●   Também abstrai bancos de dados;
        ●   Consultas sem escrever SQLs na mão.
                                   
Evite o Spaghetti




             
Evite o Spaghetti
    <html>
         <head></head>
         <body>
             <?php 
                require_once 'model/minhaclasse.php';
                $classe = new minhaclasse();
                $dados = $classe­>consultar();
                echo '<ul>';
                for ($i = 0; $i < sizeof($dados); $i++) {
                     echo '<li>' . $dados[$i]['nome'] . $dados[$i]['telefone'] . 
    '</li>';
                }
                echo '</ul>';
             ?>
 
         </body>                            
    </html>
Evite o Spaghetti


    <?php #Controller
       require_once 'model/minhaclasse.php';
       class ClasseController {
           public function listar() {
              $model = new minhaclasse();
              $this­>view­>dados = $model­>consultar();
              $this­>view­>display();
           }
       }
    ?>

                                     
Evite o Spaghetti

    <html>
        <head></head>
        <body>
           <ul>
               {foreach from=$dados item=dado}
                    <li>{$dado.nome} {$dado.telefone}</li>
               {foreachelse}
                    <li>Nenhum registro encontrado!</li>
               {/foreach}
           </ul>
        </body>
    </html>
                                        
Não feche a cabeça




             
Não feche a cabeça

    Refatore código




                       
Não feche a cabeça

    Refatore código

          Sua arquitetura não é perfeita




                       
Não feche a cabeça

    Refatore código

          Sua arquitetura não é perfeita

Estude metodologias 
 como: TDD e BDD

                       
Não feche a cabeça

    Refatore código

          Sua arquitetura não é perfeita

Estude metodologias 
 como: TDD e BDD
              Webstandards são seus 
 
                melhores amigos
                       
ATENÇÃO!




     
ATENÇÃO!
Além de práticas em PHP 
  você também pode...




                  
ATENÇÃO!
Além de práticas em PHP 
  você também pode...
                     Treinar lógica de 
                      programação;




                  
ATENÇÃO!
Além de práticas em PHP 
  você também pode...
                          Treinar lógica de 
                           programação;
     Estudar metodologias 
    ágeis e design patterns;

                       
ATENÇÃO!
Além de práticas em PHP 
  você também pode...
                          Treinar lógica de 
                           programação;
     Estudar metodologias 
    ágeis e design patterns;
                   Praticar exercícios 
                       físicos! :­)
Certificações




           
Certificações

Zend PHP5 Certified Engineer




                 
Certificações

Zend PHP5 Certified Engineer

       Zend Framework Certified 
               Engineer



                 
Certificações

    ●   Segundo a Zend as principais vantagens são:
        ●   Reconhecimento global das habilidades com as 
            ferramentas;
        ●   Vantagem ao concorrer a novos empregos e ao 
            sofrer reajustes de salário (aumento);
        ●   Páginas Amarelas da Zend.
    ●   Além da satisfação e motivação pessoal.


                                  
Certificações

    ●   Talvez a principal desvantagem seja o fato de 
        profissionais ruins conseguirem a certificação, 
        utilizando­se da decoreba do conteúdo cobrado 
        na prova;
    ●   Por outro lado, quando o candidato estuda de 
        verdade ele adquire conhecimentos valiosos 
        que serão utilizados no dia­a­dia de trabalho.



                               
Zend PHP5 Certification




                
ZPHP5CE
    ●   Valor Pago: U$165,00 (inclui 10 simulados);
    ●   Idioma: Inglês;
    ●   Material de estudo: Zend PHP5 Certification Study Guide, 
        Manual do PHP, PHP Programação Poderosa;
    ●   Prova:
        ●   70 Perguntas em 90 minutos;
        ●   Questões de múltipla escolha com uma ou várias alternativas e 
            questões abertas;
        ●   Conteúdo:
            –   Strings, Arrays, Streams, Segurança, Design Patterns, Banco de 
                Dados, XML, Diferenças entre PHP4 e PHP5 etc.
                                              
Conclusões




         
     
Obrigado!

     fernandouhu@gmail.com 
    http://fernandomantoan.com 



                  
Referências
    ●   http://php.net
    ●   http://zend.com 
    ●   PHP Programando com Orientação a Objetos – 
        Pablo Dall'Oglio;
    ●   Palestras do Rafael Dohms: 
        http://www.slideshare.net/rdohms



                               
●   http://edersonmelo.wordpress.com/2009/06/29/elephpant­o­logo­do­php/
    ●   http://www.flickr.com/photos/skoop/2547900338/
    ●   http://www.flickr.com/photos/40211230@N00/262254743/
    ●   http://www.flickr.com/photos/atsf90east/122708879/
    ●   http://www.flickr.com/photos/34904794@N07/3241360420/
    ●   http://www.flickr.com/photos/sbrotschul/2789977090/
    ●   http://www.flickr.com/photos/funadium/913303959/
    ●   http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
    ●   http://www.flickr.com/photos/benheine/3994079347/
    ●   http://www.flickr.com/photos/claudio_ar/2218550947/
    ●   http://www.flickr.com/photos/acam/119761061/
    ●   http://www.flickr.com/photos/bonvoyageindia/2968208923/
    ●   http://www.flickr.com/photos/jshj/824608884/
    ●   http://www.flickr.com/photos/39443726@N07/4039244926/
    ●   http://www.flickr.com/photos/sea­turtle/3049443478/
    ●   http://www.flickr.com/photos/goodimages/224036413/
    ●   http://www.flickr.com/photos/benandliz/261729787/
    ●   http://www.flickr.com/photos/luigistrano/3604583930/
    ●   http://www.flickr.com/photos/doberagi/1404539812/
    ●   http://www.flickr.com/photos/7533960@N02/1522924687/
                                                
    ●   http://www.flickr.com/photos/lhirlimann/3069695539/

Mais conteúdo relacionado

Mais procurados

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
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01joaocarlobarros
 
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...tdc-globalcode
 
TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fa...
TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fa...TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fa...
TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fa...tdc-globalcode
 
Vamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDDVamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDDDomingos Teruel
 
Implementando enterprise patterns com PHP
Implementando enterprise patterns com PHPImplementando enterprise patterns com PHP
Implementando enterprise patterns com PHPPablo Dall'Oglio
 
As novidades do PHP5 (2005)
As novidades do PHP5 (2005)As novidades do PHP5 (2005)
As novidades do PHP5 (2005)Pablo Dall'Oglio
 
Refinamento e boas práticas de programação
Refinamento e boas práticas de programaçãoRefinamento e boas práticas de programação
Refinamento e boas práticas de programaçãoAécio Costa
 
PHP: Programando com orientação a Objetos
PHP: Programando com orientação a ObjetosPHP: Programando com orientação a Objetos
PHP: Programando com orientação a ObjetosPablo Dall'Oglio
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoJosé Araújo
 
DDD + BDD + TDD - RF 2015
DDD + BDD + TDD - RF 2015 DDD + BDD + TDD - RF 2015
DDD + BDD + TDD - RF 2015 Eduardo Bregaida
 

Mais procurados (20)

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
 
Clean code
Clean codeClean code
Clean code
 
PHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHPPHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHP
 
Design Patterns com PHP
Design Patterns com PHPDesign Patterns com PHP
Design Patterns com PHP
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
Refatorar é preciso! 2.0
Refatorar é preciso! 2.0Refatorar é preciso! 2.0
Refatorar é preciso! 2.0
 
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
 
TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fa...
TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fa...TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fa...
TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fa...
 
Vamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDDVamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDD
 
Implementando enterprise patterns com PHP
Implementando enterprise patterns com PHPImplementando enterprise patterns com PHP
Implementando enterprise patterns com PHP
 
As novidades do PHP5 (2005)
As novidades do PHP5 (2005)As novidades do PHP5 (2005)
As novidades do PHP5 (2005)
 
Qualidade de Código
Qualidade de CódigoQualidade de Código
Qualidade de Código
 
Refinamento e boas práticas de programação
Refinamento e boas práticas de programaçãoRefinamento e boas práticas de programação
Refinamento e boas práticas de programação
 
PHP: Programando com orientação a Objetos
PHP: Programando com orientação a ObjetosPHP: Programando com orientação a Objetos
PHP: Programando com orientação a Objetos
 
Clean code em C#
Clean code em C#Clean code em C#
Clean code em C#
 
Clean code
Clean codeClean code
Clean code
 
Certificacao Php
Certificacao PhpCertificacao Php
Certificacao Php
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no Código
 
DDD + BDD + TDD - RF 2015
DDD + BDD + TDD - RF 2015 DDD + BDD + TDD - RF 2015
DDD + BDD + TDD - RF 2015
 
DDD > Experiências
DDD > ExperiênciasDDD > Experiências
DDD > Experiências
 

Destaque

Programção PHP
Programção PHPProgramção PHP
Programção PHPceap
 
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
 
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
 
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
 
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
 
Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizando Desi...
Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizando Desi...Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizando Desi...
Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizando Desi...Fernando Geraldo Mantoan
 
Sistema de gestão de projetos
Sistema de gestão de projetosSistema de gestão de projetos
Sistema de gestão de projetosyuriphillippe
 
Desenvolvimento de um Sistema de Gestão Acadêmica com Software Livre - Rodrig...
Desenvolvimento de um Sistema de Gestão Acadêmica com Software Livre - Rodrig...Desenvolvimento de um Sistema de Gestão Acadêmica com Software Livre - Rodrig...
Desenvolvimento de um Sistema de Gestão Acadêmica com Software Livre - Rodrig...Tchelinux
 
PHP Simples e Produtivo
PHP Simples e ProdutivoPHP Simples e Produtivo
PHP Simples e ProdutivoFlávio Lisboa
 
Sistema de gestão acadêmico
Sistema de gestão acadêmicoSistema de gestão acadêmico
Sistema de gestão acadêmicoLucas Sabadini
 
Como o governo do Brasil usa PHP
Como o governo do Brasil usa PHPComo o governo do Brasil usa PHP
Como o governo do Brasil usa PHPFlávio Lisboa
 
SIGE - Sistema Integrado de Gestão Escolar
SIGE - Sistema Integrado de Gestão EscolarSIGE - Sistema Integrado de Gestão Escolar
SIGE - Sistema Integrado de Gestão Escolarguest34534433
 
Desenvolvimento de aplicação de Gestão Acadêmica para a Escola Técnica Estadu...
Desenvolvimento de aplicação de Gestão Acadêmica para a Escola Técnica Estadu...Desenvolvimento de aplicação de Gestão Acadêmica para a Escola Técnica Estadu...
Desenvolvimento de aplicação de Gestão Acadêmica para a Escola Técnica Estadu...Fábio Silva
 
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLDesenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLRogerio de Moraes
 
CERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISOCERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISOEder Nogueira
 

Destaque (20)

Programção PHP
Programção PHPProgramção PHP
Programção 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)
 
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
 
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
 
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
 
Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizando Desi...
Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizando Desi...Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizando Desi...
Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizando Desi...
 
Introducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandiIntroducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandi
 
Sistema php list
Sistema php listSistema php list
Sistema php list
 
Sistema de gestão de projetos
Sistema de gestão de projetosSistema de gestão de projetos
Sistema de gestão de projetos
 
Desenvolvimento de um Sistema de Gestão Acadêmica com Software Livre - Rodrig...
Desenvolvimento de um Sistema de Gestão Acadêmica com Software Livre - Rodrig...Desenvolvimento de um Sistema de Gestão Acadêmica com Software Livre - Rodrig...
Desenvolvimento de um Sistema de Gestão Acadêmica com Software Livre - Rodrig...
 
PHP Simples e Produtivo
PHP Simples e ProdutivoPHP Simples e Produtivo
PHP Simples e Produtivo
 
Sistema de gestão acadêmico
Sistema de gestão acadêmicoSistema de gestão acadêmico
Sistema de gestão acadêmico
 
Como o governo do Brasil usa PHP
Como o governo do Brasil usa PHPComo o governo do Brasil usa PHP
Como o governo do Brasil usa PHP
 
Sistema php
Sistema phpSistema php
Sistema php
 
SIGE - Sistema Integrado de Gestão Escolar
SIGE - Sistema Integrado de Gestão EscolarSIGE - Sistema Integrado de Gestão Escolar
SIGE - Sistema Integrado de Gestão Escolar
 
Pre-Projeto Sistema Distribuido
Pre-Projeto Sistema DistribuidoPre-Projeto Sistema Distribuido
Pre-Projeto Sistema Distribuido
 
Desenvolvimento de aplicação de Gestão Acadêmica para a Escola Técnica Estadu...
Desenvolvimento de aplicação de Gestão Acadêmica para a Escola Técnica Estadu...Desenvolvimento de aplicação de Gestão Acadêmica para a Escola Técnica Estadu...
Desenvolvimento de aplicação de Gestão Acadêmica para a Escola Técnica Estadu...
 
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLDesenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
 
CERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISOCERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISO
 
Certificados e selos de qualidade
Certificados e selos de qualidadeCertificados e selos de qualidade
Certificados e selos de qualidade
 

Semelhante a PHP: História, Evolução e Principais Conceitos

Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDouglas V. Pasqua
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHPVinícius Krolow
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
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
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 Gabriel Machado
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em InformáticaEder Carneiro
 
(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012Luís Cobucci
 
#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
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetMarcos Petry
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel PetryTchelinux
 

Semelhante a PHP: História, Evolução e Principais Conceitos (20)

Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
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?
 
Aula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQLAula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQL
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Módulo de php
Módulo de phpMódulo de php
Módulo de php
 
Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em Informática
 
Cursos Season
Cursos SeasonCursos Season
Cursos Season
 
Cursos Season
Cursos Season Cursos Season
Cursos Season
 
Frameworks PHP @edgarsandi
Frameworks PHP @edgarsandiFrameworks PHP @edgarsandi
Frameworks PHP @edgarsandi
 
(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012
 
#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
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
 

PHP: História, Evolução e Principais Conceitos

  • 2. PHP    
  • 4. PHP Rasmus Lerdorf ­ 1994 Andi Gutmans e  Zeev Suraski ­ 1998    
  • 5. PHP Rasmus Lerdorf ­ 1994 Andi Gutmans e  Zeev Suraski ­ 1998 Zend Engine (PHP4)   Zend Engine 2 (PHP5+)  
  • 7. PHP 4 <?php class pessoa { var $nome; function pessoa() { $this­>nome = “fernando”; } } $fernando = new pessoa(); $joao = new pessoa(); $joao­>nome = “joao”; ?>    
  • 8. PHP 4 ● Zend Engine; ● Melhor performance e modularidade; ● Sessões; ● Suporte a diversos servidores web; ● Abstração da API.    
  • 9. PHP 5 <?php class pessoa {} class colaborador extends pessoa { private $nome; public function __construct() { $this­>nome = “fernando”; } public function __get($propriedade) { return $this­>$propriedade; } } $fernando = new colaborador(); echo $fernando­>nome; ?>    
  • 10. PHP 5 ● Zend Engine II e suporte melhorado à  orientação a objetos (__toString, __construct,  modificadores de acesso, etc...); ● Suporte a XML re­escrito; ● Extensão nativa para SOAP; ● mysqli (prepared statements e orientação a  objetos); ● Streams melhoradas.    
  • 11. PHP 5.3 <?php //lambdas e closures $olaMundo = function($nome) { echo “ola mundo: {$nome}”; }; $olaMundo('fernando');    
  • 12. PHP 5.3 <?php //namespaces.php namespace myname class MinhaClasse {} ?> <?php //uso.php require_once 'namespaces.php'; $classe = new mynameMinhaClasse; ?>    
  • 13. PHP 5.3 ● Late Static Binding; ● NOWDOC; ● __callStatic(); ● Garbage collection para referências cíclicas; ● Melhoria ao suporte ao SO Windows; ● PHAR, intl, Fileinfo, sqlite3; ● 140 Bugfixes e melhorias a extensões; ● GOTO.    
  • 14. PHP 6 ● Unicode; ● Internacionalização.    
  • 16.    
  • 17.    
  • 18.    
  • 19.    
  • 21.    
  • 22.    
  • 23.    
  • 24.    
  • 28.    
  • 29.    
  • 30.    
  • 31.    
  • 33.    
  • 34.    
  • 35. Mercado A demanda  existe...    
  • 36. Mercado A demanda  existe... Faltam profissionais  qualificados...    
  • 37. Mercado A demanda  existe... Faltam profissionais  qualificados... Todo mundo pode aprender  PHP, mas código de qualidade    é difícil de se encontrar!  
  • 40. Perfis Os perfis comuns de profissionais são... Sobrinhos e  avançados    
  • 41. Perfis Os perfis comuns de profissionais são... Sobrinhos e  avançados Sobrinhos são  baratos mas pecam  no código e na  estabilidade    
  • 42. Perfis Os perfis comuns de profissionais são... Sobrinhos e  avançados Desenvolvedores  avançados são  Sobrinhos são  caros, porém  baratos mas pecam  garantem seu  no código e na  trabalho! estabilidade    
  • 43. Dicas    
  • 44. Abstração com o Banco de Dados ● PDO é uma grande aliada pois: ● Possui prepared statements; ● É nativa do PHP; ● Camada de abstração de bancos distintos  (PostgreSQL, MySQL, SQLite, etc...); ● Doctrine é um ORM muito robusto: ● Possui a DQL (Doctrine Query Language); ● Também abstrai bancos de dados; ● Consultas sem escrever SQLs na mão.    
  • 46. Evite o Spaghetti <html> <head></head> <body> <?php  require_once 'model/minhaclasse.php'; $classe = new minhaclasse(); $dados = $classe­>consultar(); echo '<ul>'; for ($i = 0; $i < sizeof($dados); $i++) { echo '<li>' . $dados[$i]['nome'] . $dados[$i]['telefone'] .  '</li>'; } echo '</ul>'; ?>   </body>   </html>
  • 47. Evite o Spaghetti <?php #Controller require_once 'model/minhaclasse.php'; class ClasseController { public function listar() { $model = new minhaclasse(); $this­>view­>dados = $model­>consultar(); $this­>view­>display(); } } ?>    
  • 48. Evite o Spaghetti <html> <head></head> <body> <ul> {foreach from=$dados item=dado} <li>{$dado.nome} {$dado.telefone}</li> {foreachelse} <li>Nenhum registro encontrado!</li> {/foreach} </ul> </body> </html>    
  • 50. Não feche a cabeça Refatore código    
  • 51. Não feche a cabeça Refatore código Sua arquitetura não é perfeita    
  • 52. Não feche a cabeça Refatore código Sua arquitetura não é perfeita Estude metodologias  como: TDD e BDD    
  • 53. Não feche a cabeça Refatore código Sua arquitetura não é perfeita Estude metodologias  como: TDD e BDD Webstandards são seus    melhores amigos  
  • 56. ATENÇÃO! Além de práticas em PHP  você também pode... Treinar lógica de  programação;    
  • 57. ATENÇÃO! Além de práticas em PHP  você também pode... Treinar lógica de  programação; Estudar metodologias  ágeis e design patterns;    
  • 58. ATENÇÃO! Além de práticas em PHP  você também pode... Treinar lógica de  programação; Estudar metodologias  ágeis e design patterns; Praticar exercícios     físicos! :­)
  • 61. Certificações Zend PHP5 Certified Engineer Zend Framework Certified  Engineer    
  • 62. Certificações ● Segundo a Zend as principais vantagens são: ● Reconhecimento global das habilidades com as  ferramentas; ● Vantagem ao concorrer a novos empregos e ao  sofrer reajustes de salário (aumento); ● Páginas Amarelas da Zend. ● Além da satisfação e motivação pessoal.    
  • 63. Certificações ● Talvez a principal desvantagem seja o fato de  profissionais ruins conseguirem a certificação,  utilizando­se da decoreba do conteúdo cobrado  na prova; ● Por outro lado, quando o candidato estuda de  verdade ele adquire conhecimentos valiosos  que serão utilizados no dia­a­dia de trabalho.    
  • 65. ZPHP5CE ● Valor Pago: U$165,00 (inclui 10 simulados); ● Idioma: Inglês; ● Material de estudo: Zend PHP5 Certification Study Guide,  Manual do PHP, PHP Programação Poderosa; ● Prova: ● 70 Perguntas em 90 minutos; ● Questões de múltipla escolha com uma ou várias alternativas e  questões abertas; ● Conteúdo: – Strings, Arrays, Streams, Segurança, Design Patterns, Banco de  Dados, XML, Diferenças entre PHP4 e PHP5 etc.    
  • 67.    
  • 68. Obrigado! fernandouhu@gmail.com  http://fernandomantoan.com     
  • 69. Referências ● http://php.net ● http://zend.com  ● PHP Programando com Orientação a Objetos –  Pablo Dall'Oglio; ● Palestras do Rafael Dohms:  http://www.slideshare.net/rdohms    
  • 70. http://edersonmelo.wordpress.com/2009/06/29/elephpant­o­logo­do­php/ ● http://www.flickr.com/photos/skoop/2547900338/ ● http://www.flickr.com/photos/40211230@N00/262254743/ ● http://www.flickr.com/photos/atsf90east/122708879/ ● http://www.flickr.com/photos/34904794@N07/3241360420/ ● http://www.flickr.com/photos/sbrotschul/2789977090/ ● http://www.flickr.com/photos/funadium/913303959/ ● http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html ● http://www.flickr.com/photos/benheine/3994079347/ ● http://www.flickr.com/photos/claudio_ar/2218550947/ ● http://www.flickr.com/photos/acam/119761061/ ● http://www.flickr.com/photos/bonvoyageindia/2968208923/ ● http://www.flickr.com/photos/jshj/824608884/ ● http://www.flickr.com/photos/39443726@N07/4039244926/ ● http://www.flickr.com/photos/sea­turtle/3049443478/ ● http://www.flickr.com/photos/goodimages/224036413/ ● http://www.flickr.com/photos/benandliz/261729787/ ● http://www.flickr.com/photos/luigistrano/3604583930/ ● http://www.flickr.com/photos/doberagi/1404539812/ ● http://www.flickr.com/photos/7533960@N02/1522924687/     ● http://www.flickr.com/photos/lhirlimann/3069695539/