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  5.3 ? 3.1  Namespaces 3.2  Late static bindings 3.3  Lambda functions e closures 3.4  Melhorias gerais
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?
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? ZEND ENGINE 2 SPL PDO SQLite MySQLi SimpleXML Reflection JSON
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__  .  &quot;\n&quot; ; echo   &quot;Método:”   . __METHOD__  .  &quot;\n&quot; ; echo   &quot;Diretório:&quot;  . __DIR__  .  &quot;\n&quot; ; echo   &quot;Arquivo:&quot;   . __FILE__  .  &quot;\n&quot; ; } } ?>
<?php // Inclusão das classes necessárias include   &quot;model0/Carrinho.php&quot; ; include   &quot;controlador/Carrinho.php&quot; ; // Uso da classe específica use modelo::Carrinho; echo   new Carrinho(); // Ou: echo   new modelo::Carrinho(); ?> -------------------------- Evita conflitos de nomes entre classes Ideal para sistemas maiores ou bibliotecas
<?php // Uso da classe específica com __autoload() use modelo::Carrinho; echo   new Carrinho(); // Ou: echo   new modelo::Carrinho(); function  __autoload( $nome ) { include str_replace( &quot;::&quot; ,  &quot;/&quot; , $nome) .  &quot;.php&quot; ; } -------------------------- O namespace qualifica a classe Ideal para refetir o namespace em diretórios ?>
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() { 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
O QUE HÁ DE NOVO NO 5.3? LAMBDA FUNCTIONS E CLOSURES
<?php $a  =  function()  { return  __FUNCTION__; }; echo  $a (); ?> --------------------------- Curiosidade: o retorno é  {closure}
<?php use modelo::Carrinho; echo   new Carrinho(); spl_autoload_register( function ($nome) { include str_replace( &quot;::&quot; ,  &quot;/&quot; , $nome) . &quot;.php&quot;; }); -------------------------- Ideal para funções callback Não polui o namespace global com mais uma   função ?>
<?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; )); ?>
Resultado Organizado por ordem alfabética dos times da  casa
O QUE HÁ DE NOVO NO 5.3? MELHORIAS GERAIS
Nova extensão mysqlnd Uso no mysqli e no pdo_mysql Novo operador ternário  ? : - agora binário =) Ex: echo  “”   ?:   “abc” ; // Saída: abc Jump labels, acredite: goto!!!!! Ex:  linha: echo  “imprime goto” ; goto linha; Garbage collector Novos métodos especiais __callStatic e __invoke Nova constante __DIR__ (dirname(__FILE__)) Nowdocs, Heredoc com contexto de aspas simples Diversas melhorias nas extensões e funções Me recusei a testar isso!
O QUE ESPERAR DO PHP  6.0?
 
UNICODE TRAITS Suporte a herança múltipla FIM DE ALGUMAS BIZARRICES Ex.: asp_tags e funções sinônimos
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 )

O que há de novo no PHP 5.3

  • 1.
    5.3 ?O que há de novo no Jose Berardo | www.especializa.com.br | 81 3465.0032
  • 2.
    TODO MUNDO JÁALMOÇOU?
  • 3.
    Agenda 1. Mas enfim, por que estamos falando de PHP?
  • 4.
    Agenda 1. Masenfim, por que estamos falando de PHP? 2. O que veio no PHP 5 até agora?
  • 5.
    Agenda 1. Masenfim, 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.
    Agenda 1. Masenfim, 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.
    Mas enfim, porque estamos falando de PHP? POPULAR ENTRE AS MAIS PESQUISADAS
  • 8.
  • 9.
  • 10.
    SIMPLES BAIXA CURVADE APRENDIZADO
  • 11.
    RÁPIDA LEVE ECOM BOM DESEMPENHO
  • 12.
    O que veiono PHP 5 até agora? ZEND ENGINE 2 SPL PDO SQLite MySQLi SimpleXML Reflection JSON
  • 13.
    FOCO NA OOPREESTRUTURA DO MODELO DE OBJETOS
  • 14.
  • 15.
  • 16.
    O QUE HÁDE NOVO NO 5.3? NAMESPACES
  • 17.
    <?php namespace modelo;class Carrinho { public function __toString() { echo &quot;Classe:&quot; . __CLASS__ . &quot;\n&quot; ; echo &quot;Método:” . __METHOD__ . &quot;\n&quot; ; echo &quot;Diretório:&quot; . __DIR__ . &quot;\n&quot; ; echo &quot;Arquivo:&quot; . __FILE__ . &quot;\n&quot; ; } } ?>
  • 18.
    <?php // Inclusãodas classes necessárias include &quot;model0/Carrinho.php&quot; ; include &quot;controlador/Carrinho.php&quot; ; // Uso da classe específica use modelo::Carrinho; echo new Carrinho(); // Ou: echo new modelo::Carrinho(); ?> -------------------------- Evita conflitos de nomes entre classes Ideal para sistemas maiores ou bibliotecas
  • 19.
    <?php // Usoda classe específica com __autoload() use modelo::Carrinho; echo new Carrinho(); // Ou: echo new modelo::Carrinho(); function __autoload( $nome ) { include str_replace( &quot;::&quot; , &quot;/&quot; , $nome) . &quot;.php&quot; ; } -------------------------- O namespace qualifica a classe Ideal para refetir o namespace em diretórios ?>
  • 20.
    Resultado A documentaçãofala sobre o uso dos :: Mas até a versão testada, o caracter de namespace é a barra invertida (\)
  • 21.
    O QUE HÁDE NOVO NO 5.3? LATE STATIC BINDING
  • 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
  • 23.
    O QUE HÁDE NOVO NO 5.3? LAMBDA FUNCTIONS E CLOSURES
  • 24.
    <?php $a = function() { return __FUNCTION__; }; echo $a (); ?> --------------------------- Curiosidade: o retorno é {closure}
  • 25.
    <?php use modelo::Carrinho;echo new Carrinho(); spl_autoload_register( function ($nome) { include str_replace( &quot;::&quot; , &quot;/&quot; , $nome) . &quot;.php&quot;; }); -------------------------- Ideal para funções callback Não polui o namespace global com mais uma função ?>
  • 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; )); ?>
  • 27.
    Resultado Organizado porordem alfabética dos times da casa
  • 28.
    O QUE HÁDE NOVO NO 5.3? MELHORIAS GERAIS
  • 29.
    Nova extensão mysqlndUso no mysqli e no pdo_mysql Novo operador ternário ? : - agora binário =) Ex: echo “” ?: “abc” ; // Saída: abc Jump labels, acredite: goto!!!!! Ex: linha: echo “imprime goto” ; goto linha; Garbage collector Novos métodos especiais __callStatic e __invoke Nova constante __DIR__ (dirname(__FILE__)) Nowdocs, Heredoc com contexto de aspas simples Diversas melhorias nas extensões e funções Me recusei a testar isso!
  • 30.
    O QUE ESPERARDO PHP 6.0?
  • 31.
  • 32.
    UNICODE TRAITS Suportea herança múltipla FIM DE ALGUMAS BIZARRICES Ex.: asp_tags e funções sinônimos
  • 33.
    Obrigado <?php classPalestrante { 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 )

Notas do Editor

  • #2 - E-commerce e Long Tail - Comprar produtos relacionados -
  • #4 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
  • #5 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
  • #6 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
  • #7 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
  • #34 - E-commerce e Long Tail - Comprar produtos relacionados -