5.3  ? O que há de  novo   no Jose Berardo  |  www.especializa.com.br  | 81 3465.0032
TODO MUNDO JÁ ALMOÇOU?
Agenda 1.  Mas enfim, por que estamos falando de PHP?
Agenda 1. Mas enfim, por que estamos falando de PHP? 2.  O que veio no PHP 5  até agora?
Agenda 1. Mas enfim, por que estamos falando de PHP? 2. O que veio no PHP 5 até agora? 3.  Quais as novidades da  versão  ...
Agenda 1. Mas enfim, por que estamos falando de PHP? 2. O que veio no PHP 5 até agora? 3. Quais as novidades da  versão  5...
Mas enfim, por que estamos falando de PHP? POPULAR ENTRE AS MAIS PESQUISADAS
 
PODEROSA API BASTANTE RICA
SIMPLES BAIXA CURVA DE APRENDIZADO
RÁPIDA LEVE E COM BOM DESEMPENHO
O que veio no PHP 5 até agora? <ul><li>ZEND ENGINE 2 </li></ul><ul><li>SPL </li></ul><ul><li>PDO </li></ul><ul><li>SQLite ...
FOCO NA OOP REESTRUTURA DO MODELO DE OBJETOS
PADRONIZAÇÃO NOVAS APIs MAIS UNIFORMES
IDENTIDADE PRÓPRIA
O QUE HÁ DE NOVO NO 5.3? NAMESPACES
<?php namespace modelo; class   Carrinho  { public function  __toString() { echo   &quot;Classe:&quot;   . __CLASS__  .  &...
<ul><li><?php </li></ul><ul><li>// Inclusão das classes necessárias </li></ul><ul><li>include   &quot;model0/Carrinho.php&...
<ul><li><?php </li></ul><ul><li>// Uso da classe específica com __autoload() </li></ul><ul><li>use modelo::Carrinho; </li>...
Resultado A documentação fala sobre o uso dos  :: Mas até a versão testada, o caracter de  namespace é a  barra invertida ()
O QUE HÁ DE NOVO NO 5.3? LATE STATIC BINDING
<?php class  Mae { public static  function metodo() { static:: outroMetodo(); } public static  function outroMetodo() { ec...
O QUE HÁ DE NOVO NO 5.3? LAMBDA FUNCTIONS E CLOSURES
<ul><li><?php </li></ul><ul><li>$a  =  function()  { </li></ul><ul><li>return  __FUNCTION__; </li></ul><ul><li>}; </li></u...
<ul><li><?php </li></ul><ul><li>use modelo::Carrinho; </li></ul><ul><li>echo   new Carrinho(); </li></ul><ul><li>spl_autol...
<?php function  ordenarJogos( $time ) { $jogos  = array( array( &quot;Buchudinhos&quot; ,  &quot;St. Cruz&quot; ), array( ...
Resultado Organizado por ordem alfabética dos times da  casa
O QUE HÁ DE NOVO NO 5.3? MELHORIAS GERAIS
<ul><li>Nova extensão mysqlnd </li></ul><ul><li>Uso no mysqli e no pdo_mysql </li></ul><ul><li>Novo operador ternário  ? :...
O QUE ESPERAR DO PHP  6.0?
 
<ul><li>UNICODE </li></ul><ul><li>TRAITS </li></ul><ul><ul><li>Suporte a herança múltipla </li></ul></ul><ul><li>FIM DE AL...
Obrigado <?php class Palestrante { function __invoke() { return array(   &quot;Jose Berardo&quot;,   &quot;www.especializa...
Upcoming SlideShare
Loading in...5
×

O que há de novo no PHP 5.3

1,507

Published on

Palestra apresentada no Dia D 2009 da comunidade Debian-PE.

Fizemos uma breve contextualização e discutimos algumas novidades da versão 5.3.0 como:
namespaces
late static bindings
lambda functions
closures, etc

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,507
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • - E-commerce e Long Tail - Comprar produtos relacionados -
  • Adicionar a cultura ( americanização e barreira cultural ) Adicionar caso de engefrio e infobox Fazer uma proposta de Barreiras e Oportunidades ai fala sobre tudo do e-commerce sempre citando exemplos - frete (americanas e varejão) - confiança ( - nicho (maquina de café) - comunidade de valor (site de café) Associar os P’s do MKT
  • Adicionar a cultura ( americanização e barreira cultural ) Adicionar caso de engefrio e infobox Fazer uma proposta de Barreiras e Oportunidades ai fala sobre tudo do e-commerce sempre citando exemplos - frete (americanas e varejão) - confiança ( - nicho (maquina de café) - comunidade de valor (site de café) Associar os P’s do MKT
  • Adicionar a cultura ( americanização e barreira cultural ) Adicionar caso de engefrio e infobox Fazer uma proposta de Barreiras e Oportunidades ai fala sobre tudo do e-commerce sempre citando exemplos - frete (americanas e varejão) - confiança ( - nicho (maquina de café) - comunidade de valor (site de café) Associar os P’s do MKT
  • Adicionar a cultura ( americanização e barreira cultural ) Adicionar caso de engefrio e infobox Fazer uma proposta de Barreiras e Oportunidades ai fala sobre tudo do e-commerce sempre citando exemplos - frete (americanas e varejão) - confiança ( - nicho (maquina de café) - comunidade de valor (site de café) Associar os P’s do MKT
  • - E-commerce e Long Tail - Comprar produtos relacionados -
  • Transcript of "O que há de novo no PHP 5.3"

    1. 1. 5.3 ? O que há de novo no Jose Berardo | www.especializa.com.br | 81 3465.0032
    2. 2. TODO MUNDO JÁ ALMOÇOU?
    3. 3. Agenda 1. Mas enfim, por que estamos falando de PHP?
    4. 4. Agenda 1. Mas enfim, por que estamos falando de PHP? 2. O que veio no PHP 5 até agora?
    5. 5. Agenda 1. Mas enfim, por que estamos falando de PHP? 2. O que veio no PHP 5 até agora? 3. Quais as novidades da versão 5.3 ? 3.1 Namespaces 3.2 Late static bindings 3.3 Lambda functions e closures 3.4 Melhorias gerais
    6. 6. Agenda 1. Mas enfim, por que estamos falando de PHP? 2. O que veio no PHP 5 até agora? 3. Quais as novidades da versão 5.3 ? 4. O que esperar do 6.0?
    7. 7. Mas enfim, por que estamos falando de PHP? POPULAR ENTRE AS MAIS PESQUISADAS
    8. 9. PODEROSA API BASTANTE RICA
    9. 10. SIMPLES BAIXA CURVA DE APRENDIZADO
    10. 11. RÁPIDA LEVE E COM BOM DESEMPENHO
    11. 12. O que veio no PHP 5 até agora? <ul><li>ZEND ENGINE 2 </li></ul><ul><li>SPL </li></ul><ul><li>PDO </li></ul><ul><li>SQLite </li></ul><ul><li>MySQLi </li></ul><ul><li>SimpleXML </li></ul><ul><li>Reflection </li></ul><ul><li>JSON </li></ul>
    12. 13. FOCO NA OOP REESTRUTURA DO MODELO DE OBJETOS
    13. 14. PADRONIZAÇÃO NOVAS APIs MAIS UNIFORMES
    14. 15. IDENTIDADE PRÓPRIA
    15. 16. O QUE HÁ DE NOVO NO 5.3? NAMESPACES
    16. 17. <?php namespace modelo; class Carrinho { public function __toString() { echo &quot;Classe:&quot; . __CLASS__ . &quot; &quot; ; echo &quot;Método:” . __METHOD__ . &quot; &quot; ; echo &quot;Diretório:&quot; . __DIR__ . &quot; &quot; ; echo &quot;Arquivo:&quot; . __FILE__ . &quot; &quot; ; } } ?>
    17. 18. <ul><li><?php </li></ul><ul><li>// Inclusão das classes necessárias </li></ul><ul><li>include &quot;model0/Carrinho.php&quot; ; </li></ul><ul><li>include &quot;controlador/Carrinho.php&quot; ; </li></ul><ul><li>// Uso da classe específica </li></ul><ul><li>use modelo::Carrinho; </li></ul><ul><li>echo new Carrinho(); </li></ul><ul><li>// Ou: </li></ul><ul><li>echo new modelo::Carrinho(); </li></ul><ul><li>?> </li></ul><ul><li>-------------------------- </li></ul><ul><li>Evita conflitos de nomes entre classes </li></ul><ul><li>Ideal para sistemas maiores ou bibliotecas </li></ul>
    18. 19. <ul><li><?php </li></ul><ul><li>// Uso da classe específica com __autoload() </li></ul><ul><li>use modelo::Carrinho; </li></ul><ul><li>echo new Carrinho(); </li></ul><ul><li>// Ou: </li></ul><ul><li>echo new modelo::Carrinho(); </li></ul><ul><li>function __autoload( $nome ) { </li></ul><ul><li>include str_replace( &quot;::&quot; , &quot;/&quot; , $nome) . </li></ul><ul><li>&quot;.php&quot; ; </li></ul><ul><li>} </li></ul><ul><li>-------------------------- </li></ul><ul><li>O namespace qualifica a classe </li></ul><ul><li>Ideal para refetir o namespace em diretórios </li></ul><ul><li>?> </li></ul>
    19. 20. Resultado A documentação fala sobre o uso dos :: Mas até a versão testada, o caracter de namespace é a barra invertida ()
    20. 21. O QUE HÁ DE NOVO NO 5.3? LATE STATIC BINDING
    21. 22. <?php class Mae { public static function metodo() { static:: outroMetodo(); } public static function outroMetodo() { echo &quot;Metodo da classe Mae&quot; ; } } class Filha extends Mae { public static function outroMetodo() { echo &quot;Metodo da classe Filha&quot; ; } } Filha::metodo(); // &quot;Metodo da classe Filha&quot; ?> No lugar do self
    22. 23. O QUE HÁ DE NOVO NO 5.3? LAMBDA FUNCTIONS E CLOSURES
    23. 24. <ul><li><?php </li></ul><ul><li>$a = function() { </li></ul><ul><li>return __FUNCTION__; </li></ul><ul><li>}; </li></ul><ul><li>echo $a (); </li></ul><ul><li>?> </li></ul><ul><li>--------------------------- </li></ul><ul><li>Curiosidade: o retorno é {closure} </li></ul>
    24. 25. <ul><li><?php </li></ul><ul><li>use modelo::Carrinho; </li></ul><ul><li>echo new Carrinho(); </li></ul><ul><li>spl_autoload_register( function ($nome) { </li></ul><ul><li>include str_replace( &quot;::&quot; , &quot;/&quot; , $nome) . &quot;.php&quot;; </li></ul><ul><li>}); </li></ul><ul><li>-------------------------- </li></ul><ul><li>Ideal para funções callback </li></ul><ul><li>Não polui o namespace global com mais uma função </li></ul><ul><li>?> </li></ul>
    25. 26. <?php function ordenarJogos( $time ) { $jogos = array( array( &quot;Buchudinhos&quot; , &quot;St. Cruz&quot; ), array( &quot;St. Cruz&quot;, &quot;Tribo Tucurumba&quot; ), array( &quot;Ceguinhos&quot;, &quot;St. Cruz&quot; ) ); usort( $jogos , function( $a, $b ) use ( $time ) { if ( $time == &quot;Casa&quot; ) return strcasecmp( $a[0], $b[0] ); else return strcasecmp( $a[1], $b[1] ); }); return $jogos; } var_dump(ordenarJogos( &quot;Casa&quot; )); ?>
    26. 27. Resultado Organizado por ordem alfabética dos times da casa
    27. 28. O QUE HÁ DE NOVO NO 5.3? MELHORIAS GERAIS
    28. 29. <ul><li>Nova extensão mysqlnd </li></ul><ul><li>Uso no mysqli e no pdo_mysql </li></ul><ul><li>Novo operador ternário ? : - agora binário =) </li></ul><ul><li>Ex: echo “” ?: “abc” ; // Saída: abc </li></ul><ul><li>Jump labels, acredite: goto!!!!! </li></ul><ul><li>Ex: </li></ul><ul><li>linha: </li></ul><ul><li>echo “imprime goto” ; </li></ul><ul><li>goto linha; </li></ul><ul><li>Garbage collector </li></ul><ul><li>Novos métodos especiais __callStatic e __invoke </li></ul><ul><li>Nova constante __DIR__ (dirname(__FILE__)) </li></ul><ul><li>Nowdocs, Heredoc com contexto de aspas simples </li></ul><ul><li>Diversas melhorias nas extensões e funções </li></ul>Me recusei a testar isso!
    29. 30. O QUE ESPERAR DO PHP 6.0?
    30. 32. <ul><li>UNICODE </li></ul><ul><li>TRAITS </li></ul><ul><ul><li>Suporte a herança múltipla </li></ul></ul><ul><li>FIM DE ALGUMAS BIZARRICES </li></ul><ul><ul><li>Ex.: asp_tags e funções sinônimos </li></ul></ul>
    31. 33. Obrigado <?php class Palestrante { function __invoke() { return array( &quot;Jose Berardo&quot;, &quot;www.especializa.com.br&quot;, &quot;81 3465.0032&quot; ); } } $p = new Palestrante(); print_r($p()); ?> Array ( [0] => Jose Berardo [1] => www.especializa.com.br [2] => 81 3465.0032 )

    ×