PHP:
               Atualidade e Tendências




      Almir Neto – almirneto@gmail.com

 
    Otávio Calaça – otaviocx@gmail.com
                               
             http://www.poomax.com.br    Anápolis, 15 de junho de 2009
Grupo de Desenvolvedores 
              PHP de Goiás
    ●   Criado em dezembro de 2007;
    ●   Lista de Discussão:
                –   mais de 240 membros.
    ●   Encontros:
                –   Palestras;
                –   Networking.
    ●   Site:
                –   www.gophp.com.br
    ●   Eventos:
                –   FLISOL, FGSL, Latinoware, Conisli, CONSOFT.
                                        
PHP: Atualidade e Tendências


        Um pouco da história do PHP
    • 1995: Personal Home Page Tools (Rasmus Lerdorf)
       – Conjunto de scripts Perl, posteriormente implementações em C
    • 1997: 50.000 domínios utilizavam a segunda versão
    • 1998: O PHP foi reescrito por Andi Gutmans e Zeev Suraski
       – PHP = Hypertext Preprocessor
       – 10% da Internet rodava PHP
    • 2000: O PHP4 trouxe um novo núcleo
    • 2004:  Lançamento do PHP5, introduzindo OO na linguagem
       – 35% da Internet utiliza PHP
       – 4.500.000 de desenvolvedores
    • 2009: PHP 6?                                     
                                        
3
PHP: Atualidade e Tendências



                    Desenvolvimento
    • Cerca de 1000 engenheiros desenvolvem o PHP
    • Sintaxe parecida com C, Shell, PERL e Java

    • Com PHP é possível desenvolver:
       – Aplicações Web Dinâmicas(websites, intranets, extranets, etc.)
       – Aplicações Desktop(PHP­GTK e PHP4Delphi)
       – Rich Clients(PHP­XUL)
       – Web Services(SOAP, XML­RPC, REST)
       – Scripts de linha de comando
       – Tarefas de segundo plano

                                                             
4
PHP: Atualidade e Tendências



                       Licença de uso
    • Software Livre
    • PHP License versão 3.01
       – Segue o estilo BSD
       – Permite a livre criação e distribuição de software PHP
       – Cópia da licença do Apache




                                                         
5
PHP: Atualidade e Tendências



                           Portabilidade
    • É possível instalar o PHP em vários SO, como:
       – Windows;
       – Linux;
       – Unix;
       – IBM iSeries;
       – SGI IRIX;
       – RISC OS;
       – Netware Novell;
       – Mac OS X;
       – AmigaOS.

                                                       
6
PHP: Atualidade e Tendências



             Algumas Estatísticas
    • Um a cada três sites na Internet utiliza PHP;
    • + de 25 milhões de domínios;
    • Tecnologia número 1 da Web;
    • Quarta linguagem de programação mais popular 
      de acordo com o TIOBE;
    • Eleita linguagem de programação do ano de 
      2004, pelo TIOBE.

                                             
7
PHP: Atualidade e Tendências



                   Popularidade




    Fonte: TIOBE
                                           
8
PHP: Atualidade e Tendências



    Quem usa?




                           
9
PHP: Atualidade e Tendências



     Quem usa?




                            
10
PHP: Atualidade e Tendências



     Quem usa?




                            
11
PHP: Atualidade e Tendências



     Quem usa?




                            
12
PHP: Atualidade e Tendências



     Quem usa?




                            
13
PHP: Atualidade e Tendências



     Quem usa?




                            
14
PHP: Atualidade e Tendências



     Quem usa?




                            
15
PHP: Atualidade e Tendências


     Até a Microsoft usa PHP???




                                    
16
PHP: Atualidade e Tendências



      Simplicidade e Adaptabilidade
     • Modelo de desenvolvimento simples
       – Facilita o aprendizado
     • Sintaxe Extruturada ou
     • Sintaxe Orientada à Objetos
       – Similar ao Java e C++
       – Encapsulamento, Herança, Polimorfismo, Interfaces, Reflexão,
       – Visibilidade, Exceções, Métodos Mágicos, Sobrecarga.
       – SPL (Standard PHP Library)
       – Possibilita o desenvolvimento em três camadas
                                                      
17
PHP: Atualidade e Tendências



                   Interoperabilidade
     • O PHP permite instanciar objetos:
        – COM
        – Java
        – .NET


     • Funções nativas para comunicação com os principais bancos de 
       dados relacionais como MySQL, PostgreSQL, Oracle, MSSQL, 
       Firebird, etc.




                                                       
18
PHP: Atualidade e Tendências



             Utilização concorrente
 – Com a habilidade de comunicar com objetos COM e Java, o PHP está 
   se tornando um padrão no gerenciamento da camada gráfica
    • A Lufthansa utiliza J2EE na camada de negócios e PHP na 
       interface visual

 – Comunicação com .NET
    • É possível instanciar um componente Microsoft .NET através da 
      classe dotnet_load()
    • Há compiladores PHP para MSIL(Código intermediário do .NET) 
      em desenvolvimento
    • Há uma implementação para .NET com MONO


                                                      
19
PHP: Atualidade e Tendências



                Utilização concorrente
     • A Zend Technologies lidera o grupo de trabalho JSR 223, que tem 
       foco na instanciação de objetos Java à partir de outras linguagens
     • A IBM dedicou uma seção específica ao PHP em seu site, 
       publicando excelentes artigos sobre a utilização de PHP em 
       servidores IBM, dentre outros
        – Atualmente o acervo da IBM sobre PHP conta com mais de 200 
          artigos, que falam desde como comunicar o PHP com o Twitter, 
          até tutoriais de como desenvolver jogos com PHP
     • A Oracle pretende incluir o PHP no “Oracle Application Server”
     • O PHP está disponível para as plataformas Netware 6


                                                          
20
PHP: Atualidade e Tendências



                 Aplicações Enterprise
     • O PHP está pronto para aplicações enterprise, dando suporte a:
        – SOAP
        – Rest
        – LDAP
        – XML(Fácil leitura e criação)
        – Web Services
        – Lotus Notes
        – SAP
        – SVN


                                                        
21
PHP: Atualidade e Tendências



                       Durabilidade

     • Grande base de desenvolvedores
       – Mais de 4.500.000 de desenvolvedores


     • Comunidade forte e atuante
       – Grupos de usuários em todo o mundo fortalecem a linguagem.
       – Bugs são rapidamente reportados e solucionados



                                                     
22
PHP: Atualidade e Tendências



                       Performance

     • Boa performance e estabilidade
       – A combinação PHP + Linux + Apache é muito forte
       – A Microsoft vêm trabalhando duro para melhorar a performance 
         do PHP no Windows com o servidor IIS




                                                      
23
PHP: Atualidade e Tendências


                 Mecanismo Interno
 • Zend Engine 2
     – Arquitetura Modular
     – Mesmos conceitos do Java e .NET
     – O código é compilado e executado em tempo real
     – É possível diminuir o tempo de execução em até 66%
     – É possível extender as funcionalidades do PHP 
       implementando funções em C
     – O PHP é interpretado, ou seja, não é necessário compilar 
       os programas
     – Porém, caso deseje, é possível compilar um programa 
       desenvolvido em PHP
                                                         
24
PHP: Atualidade e Tendências


                 Mecanismo Interno
 – PEAR e PECL
     • Instalação com um único comando
     • Mais de 500 extensões disponíveis
     • Mais de 700 colaboradores
     • Antes de ser disponibilizada, uma biblioteca é extensivamente 
       testada e deve ser aprovada por um comitê formado por 
       especialistas
     • Extensões vão desde bibliotecas de comunicação com bancos de 
       dados até bibliotecas para implementar AJAX
     • Documentação completa



                                                      
25
PHP: Atualidade e Tendências


     Ferramentas para desenvolver em PHP




                                        
26
PHP: Atualidade e Tendências


     Ferramentas para desenvolver em PHP




                                        
27
PHP: Atualidade e Tendências


     Ferramentas para desenvolver em PHP




                                        
28
PHP: Atualidade e Tendências


     Ferramentas para desenvolver em PHP




                                        
29
PHP: Atualidade e Tendências


     Ferramentas para desenvolver em PHP




                                        
30
PHP: Atualidade e Tendências


     Ferramentas para desenvolver em PHP




                                        
31
PHP: Atualidade e Tendências


     Ferramentas para desenvolver em PHP




                                        
32
PHP: Atualidade e Tendências


     Ferramentas para desenvolver em PHP




                                        
33
PHP: Atualidade e Tendências


     Ferramentas para desenvolver em PHP




                                        
34
PHP: Atualidade e Tendências



                 O ecossistema PHP
 – Otimização
     •   ACP
     •   eAccelerator
     •   Smarty
     •   JpCache

 – Administração
     •   phpMyAdmin
     •   phpOracleAdmin
     •   phpSysbaseAdmin
     •   phpPgAdmin


                                                 
35
PHP: Atualidade e Tendências


                 O ecossistema PHP
 – Gerenciamento de Conteúdo
     •   Spip
     •   eZ Publish
     •   Typo 3
     •   Joomla
     •   Wordpress

 – ERP, Webshops
     •   Dolibarr(ERP)
     •   GeStock(Gerenciamento de estoque)
     •   osCommerce(Comércio Virtual)
     •   SugarCRM(CRM)

                                                   
36
PHP: Atualidade e Tendências


              O ecossistema PHP
 – Frameworks
     • Cake PHP
        – Implementa MVC e ORM
     • Code Igniter
        – Bastante utilizado pela alta performance
     • PHP.MVC
        – Teve como base o framework Java Struts
     • Symphony
        – Integração com bibliotecas de terceiros
     • Zend Framework
        – Base de código altamente testada
     • PRADO
        – Grande comunidade e extensa documentação
                                                  
37
PHP: Atualidade e Tendências



                    Certificação
     • Duas certificações da Zend:
       – Zend Certified Engineer: PHP 5;



       – Zend Certified Engineer: Zend Framework;



                                             
38
PHP: Atualidade e Tendências


                Comunidade PHP
     • Centenas de grupos de usuários no mundo
     • PHP Brasil Comunidades
       – Os grupos regionais se uniram para se fortalecer
       – É composto atualmente por 17 grupos
       – Em menos de 1 ano de existência já realizou dois 
         eventos nacionais
          • COLAPHP – Congresso Latino Americano de PHP
          • CONAPHP – Congresso Nacional de PHP

                                              
39
PHP: Atualidade e Tendências


                    O Futuro do PHP
     • PHP 5.3:                    // exemplos de uso:

                                   // diretamente
       – Namespaces:               $foo = new PoomaxNewsDir;
          • Definição:             // importando o namespace
                                   use PoomaxNews;
      namespace PoomaxNews;       $foo = new NewsDir;
      class Dir {
                                   // renomeando a classe
         ...                       use PoomaxNewsDir as PND;
      }                            $foo = new PND;




                                                 
40
PHP: Atualidade e Tendências


                  O Futuro do PHP
     • PHP 5.3:
       – Lambda functions:

             $lambda = function () {
                 echo "Hello World!n";
             };
             $lambda();




                                            
41
PHP: Atualidade e Tendências


                  O Futuro do PHP
     • PHP 5.3:
       – Closures:
            function getSomador($x) {
               return function ($y) use ($x) {
                  return $x + $y;
               };
            }
            $somador = getSomador(10);
            echo $somador(5); //15
            echo $somador(32); //42

                                             
42
PHP: Atualidade e Tendências


                  O Futuro do PHP
     • PHP 5.3:
       – PHAR: PHP Archive
         • O Jar do PHP
         • Consegue deixar a aplicação até 33% mais rápida
       – Garbage Collection
       – Late Static Binding
       – Correções de Bugs  e Refatoramentos.
     • PHP 6
       – PHP 5.3 + Unicode                    
43
PHP: Atualidade e Tendências


               Maiores Informações
 –   http://www.poomax.com.br
 –   http://www.gophp.com.br
 –   http://www.php.net
 –   http://pear.php.net
 –   http://pecl.php.net
 –   http://www.ibm.com
 –   http://php.org.br/
 –   http://www.php.com.br/
 –   http://www.phpmagazine.org.br
 –   http://www.php.ie
 –   http://www.netcraft.com
 –   http://www.tiobe.com



                                                   
44
PHP: Atualidade e Tendências



          Perguntas?


              Obrigado!



       Almir Neto – almirneto@gmail.com
     Otávio Calaça – otaviocx@gmail.com
                                    
45            http://www.poomax.com.br
                       

PHP: Atualidade e Tendências

  • 1.
    PHP: Atualidade e Tendências Almir Neto – almirneto@gmail.com   Otávio Calaça – otaviocx@gmail.com   http://www.poomax.com.br Anápolis, 15 de junho de 2009
  • 2.
    Grupo de Desenvolvedores  PHP de Goiás ● Criado em dezembro de 2007; ● Lista de Discussão: – mais de 240 membros. ● Encontros: – Palestras; – Networking. ● Site: – www.gophp.com.br ● Eventos: – FLISOL, FGSL, Latinoware, Conisli, CONSOFT.    
  • 3.
    PHP: Atualidade e Tendências Um pouco da história do PHP • 1995: Personal Home Page Tools (Rasmus Lerdorf) – Conjunto de scripts Perl, posteriormente implementações em C • 1997: 50.000 domínios utilizavam a segunda versão • 1998: O PHP foi reescrito por Andi Gutmans e Zeev Suraski – PHP = Hypertext Preprocessor – 10% da Internet rodava PHP • 2000: O PHP4 trouxe um novo núcleo • 2004:  Lançamento do PHP5, introduzindo OO na linguagem – 35% da Internet utiliza PHP – 4.500.000 de desenvolvedores • 2009: PHP 6?     3
  • 4.
    PHP: Atualidade e Tendências Desenvolvimento • Cerca de 1000 engenheiros desenvolvem o PHP • Sintaxe parecida com C, Shell, PERL e Java • Com PHP é possível desenvolver: – Aplicações Web Dinâmicas(websites, intranets, extranets, etc.) – Aplicações Desktop(PHP­GTK e PHP4Delphi) – Rich Clients(PHP­XUL) – Web Services(SOAP, XML­RPC, REST) – Scripts de linha de comando – Tarefas de segundo plano     4
  • 5.
    PHP: Atualidade e Tendências Licença de uso • Software Livre • PHP License versão 3.01 – Segue o estilo BSD – Permite a livre criação e distribuição de software PHP – Cópia da licença do Apache     5
  • 6.
    PHP: Atualidade e Tendências Portabilidade • É possível instalar o PHP em vários SO, como: – Windows; – Linux; – Unix; – IBM iSeries; – SGI IRIX; – RISC OS; – Netware Novell; – Mac OS X; – AmigaOS.     6
  • 7.
    PHP: Atualidade e Tendências Algumas Estatísticas • Um a cada três sites na Internet utiliza PHP; • + de 25 milhões de domínios; • Tecnologia número 1 da Web; • Quarta linguagem de programação mais popular  de acordo com o TIOBE; • Eleita linguagem de programação do ano de  2004, pelo TIOBE.     7
  • 8.
    PHP: Atualidade e Tendências Popularidade Fonte: TIOBE     8
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    PHP: Atualidade e Tendências Até a Microsoft usa PHP???     16
  • 17.
    PHP: Atualidade e Tendências Simplicidade e Adaptabilidade • Modelo de desenvolvimento simples – Facilita o aprendizado • Sintaxe Extruturada ou • Sintaxe Orientada à Objetos – Similar ao Java e C++ – Encapsulamento, Herança, Polimorfismo, Interfaces, Reflexão, – Visibilidade, Exceções, Métodos Mágicos, Sobrecarga. – SPL (Standard PHP Library) – Possibilita o desenvolvimento em três camadas     17
  • 18.
    PHP: Atualidade e Tendências Interoperabilidade • O PHP permite instanciar objetos: – COM – Java – .NET • Funções nativas para comunicação com os principais bancos de  dados relacionais como MySQL, PostgreSQL, Oracle, MSSQL,  Firebird, etc.     18
  • 19.
    PHP: Atualidade e Tendências Utilização concorrente – Com a habilidade de comunicar com objetos COM e Java, o PHP está  se tornando um padrão no gerenciamento da camada gráfica • A Lufthansa utiliza J2EE na camada de negócios e PHP na  interface visual – Comunicação com .NET • É possível instanciar um componente Microsoft .NET através da  classe dotnet_load() • Há compiladores PHP para MSIL(Código intermediário do .NET)  em desenvolvimento • Há uma implementação para .NET com MONO     19
  • 20.
    PHP: Atualidade e Tendências Utilização concorrente • A Zend Technologies lidera o grupo de trabalho JSR 223, que tem  foco na instanciação de objetos Java à partir de outras linguagens • A IBM dedicou uma seção específica ao PHP em seu site,  publicando excelentes artigos sobre a utilização de PHP em  servidores IBM, dentre outros – Atualmente o acervo da IBM sobre PHP conta com mais de 200  artigos, que falam desde como comunicar o PHP com o Twitter,  até tutoriais de como desenvolver jogos com PHP • A Oracle pretende incluir o PHP no “Oracle Application Server” • O PHP está disponível para as plataformas Netware 6     20
  • 21.
    PHP: Atualidade e Tendências Aplicações Enterprise • O PHP está pronto para aplicações enterprise, dando suporte a: – SOAP – Rest – LDAP – XML(Fácil leitura e criação) – Web Services – Lotus Notes – SAP – SVN     21
  • 22.
    PHP: Atualidade e Tendências Durabilidade • Grande base de desenvolvedores – Mais de 4.500.000 de desenvolvedores • Comunidade forte e atuante – Grupos de usuários em todo o mundo fortalecem a linguagem. – Bugs são rapidamente reportados e solucionados     22
  • 23.
    PHP: Atualidade e Tendências Performance • Boa performance e estabilidade – A combinação PHP + Linux + Apache é muito forte – A Microsoft vêm trabalhando duro para melhorar a performance  do PHP no Windows com o servidor IIS     23
  • 24.
    PHP: Atualidade e Tendências Mecanismo Interno • Zend Engine 2 – Arquitetura Modular – Mesmos conceitos do Java e .NET – O código é compilado e executado em tempo real – É possível diminuir o tempo de execução em até 66% – É possível extender as funcionalidades do PHP  implementando funções em C – O PHP é interpretado, ou seja, não é necessário compilar  os programas – Porém, caso deseje, é possível compilar um programa  desenvolvido em PHP     24
  • 25.
    PHP: Atualidade e Tendências Mecanismo Interno – PEAR e PECL • Instalação com um único comando • Mais de 500 extensões disponíveis • Mais de 700 colaboradores • Antes de ser disponibilizada, uma biblioteca é extensivamente  testada e deve ser aprovada por um comitê formado por  especialistas • Extensões vão desde bibliotecas de comunicação com bancos de  dados até bibliotecas para implementar AJAX • Documentação completa     25
  • 26.
    PHP: Atualidade e Tendências Ferramentas para desenvolver em PHP     26
  • 27.
    PHP: Atualidade e Tendências Ferramentas para desenvolver em PHP     27
  • 28.
    PHP: Atualidade e Tendências Ferramentas para desenvolver em PHP     28
  • 29.
    PHP: Atualidade e Tendências Ferramentas para desenvolver em PHP     29
  • 30.
    PHP: Atualidade e Tendências Ferramentas para desenvolver em PHP     30
  • 31.
    PHP: Atualidade e Tendências Ferramentas para desenvolver em PHP     31
  • 32.
    PHP: Atualidade e Tendências Ferramentas para desenvolver em PHP     32
  • 33.
    PHP: Atualidade e Tendências Ferramentas para desenvolver em PHP     33
  • 34.
    PHP: Atualidade e Tendências Ferramentas para desenvolver em PHP     34
  • 35.
    PHP: Atualidade e Tendências O ecossistema PHP – Otimização • ACP • eAccelerator • Smarty • JpCache – Administração • phpMyAdmin • phpOracleAdmin • phpSysbaseAdmin • phpPgAdmin     35
  • 36.
    PHP: Atualidade e Tendências O ecossistema PHP – Gerenciamento de Conteúdo • Spip • eZ Publish • Typo 3 • Joomla • Wordpress – ERP, Webshops • Dolibarr(ERP) • GeStock(Gerenciamento de estoque) • osCommerce(Comércio Virtual) • SugarCRM(CRM)     36
  • 37.
    PHP: Atualidade e Tendências O ecossistema PHP – Frameworks • Cake PHP – Implementa MVC e ORM • Code Igniter – Bastante utilizado pela alta performance • PHP.MVC – Teve como base o framework Java Struts • Symphony – Integração com bibliotecas de terceiros • Zend Framework – Base de código altamente testada • PRADO – Grande comunidade e extensa documentação     37
  • 38.
    PHP: Atualidade e Tendências Certificação • Duas certificações da Zend: – Zend Certified Engineer: PHP 5; – Zend Certified Engineer: Zend Framework;     38
  • 39.
    PHP: Atualidade e Tendências Comunidade PHP • Centenas de grupos de usuários no mundo • PHP Brasil Comunidades – Os grupos regionais se uniram para se fortalecer – É composto atualmente por 17 grupos – Em menos de 1 ano de existência já realizou dois  eventos nacionais • COLAPHP – Congresso Latino Americano de PHP • CONAPHP – Congresso Nacional de PHP     39
  • 40.
    PHP: Atualidade e Tendências O Futuro do PHP • PHP 5.3: // exemplos de uso: // diretamente – Namespaces: $foo = new PoomaxNewsDir; • Definição: // importando o namespace use PoomaxNews; namespace PoomaxNews; $foo = new NewsDir; class Dir { // renomeando a classe    ... use PoomaxNewsDir as PND; } $foo = new PND;     40
  • 41.
    PHP: Atualidade e Tendências O Futuro do PHP • PHP 5.3: – Lambda functions: $lambda = function () {     echo "Hello World!n"; }; $lambda();     41
  • 42.
    PHP: Atualidade e Tendências O Futuro do PHP • PHP 5.3: – Closures: function getSomador($x) { return function ($y) use ($x) { return $x + $y; }; } $somador = getSomador(10); echo $somador(5); //15 echo $somador(32); //42     42
  • 43.
    PHP: Atualidade e Tendências O Futuro do PHP • PHP 5.3: – PHAR: PHP Archive • O Jar do PHP • Consegue deixar a aplicação até 33% mais rápida – Garbage Collection – Late Static Binding – Correções de Bugs  e Refatoramentos. • PHP 6 – PHP 5.3 + Unicode     43
  • 44.
    PHP: Atualidade e Tendências Maiores Informações – http://www.poomax.com.br – http://www.gophp.com.br – http://www.php.net – http://pear.php.net – http://pecl.php.net – http://www.ibm.com – http://php.org.br/ – http://www.php.com.br/ – http://www.phpmagazine.org.br – http://www.php.ie – http://www.netcraft.com – http://www.tiobe.com     44
  • 45.
    PHP: Atualidade e Tendências Perguntas? Obrigado! Almir Neto – almirneto@gmail.com Otávio Calaça – otaviocx@gmail.com   45 http://www.poomax.com.br