ElePHPant (Eu tenho um desses! :D)

PHP 5.4 – Novidades e novas funcionalidades

Eu sei que o assunto não é novo, já que o PHP 5.4 foi lançado 01 de março de 2012 (já já vai fazer um ano!), mas muita gente ainda não sabe o que há de novo e – talvez por isso – ainda não instalou a versão mais recente.

Por isso nesse post resolvi mostrar um pouco de cada uma das novidades da versão 5.4.

Lista oficial de novidades: http://www.php.net/manual/en/migration54.new-features.php

O que há de novo? Por que eu deveria atualizar?

Antes de citar qualquer motivo específico, digo o motivo mais óbvio de todos: segurança e performance!

Segurança e Performance

Toda nova versão (seja ela do WordPress, Java ou PHP) traz melhorias significativas à segurança e performance do seu sistema/aplicativo… só isso deveria ser motivo pra você se dar ao trabalho de manter tudo atualizado na última versão, sempre. Não atualizar significa assinar o mea culpa caso seu sistema seja invadido.

Traits (ou características)

Traits são mecanismos que ajudam (e muito) a reutilização de código, e servem perfeitamente para resolver o problema da falta de herança múltipla.

Veja mais sobre Traits num outro artigo meu, aqui: http://blog.thiagobelem.net/php-5-4-traits/

Nova sintaxe para arrays

Antigamente você criava arrays assim:

Agora você pode criá-los com uma sintaxe bem mais limpa:

O comportamento é exatamente o mesmo… E se você é como eu, pode ficar tranquilo que a sintaxe antiga continua funcionando. :)

Function array dereferencing

Se você tem uma função/método que retora um array, você precisava colocar o resultado numa variável para poder acessar o índice:

Agora você pode acessar o índice diretamente na chamada da função:

Isso vale pra qualquer método ou função que retorne arrays!

<?=”Sempre disponível”?>

Se você não conhece, essa é a uma forma encurtada de imprimir algo em PHP:

Porém essa sintaxe só funcionava (até antes da versão 5.4) caso a opção short_open_tags estivesse habilitada no php.ini, agora essa sintaxe estará disponível independente das suas configurações no php.ini.

Acesso durante o instanciamento

Muito parecido com o acesso à índices de arrays, esse novo recurso permite que você acesse atributos e métodos de objetos que estão sendo instanciados, durante o instanciamento:

Servidor [de desenvolviemento] embutido

E por último, mas não menos importante, o PHP 5.4 nos permite usar um servidor embutido para teste e desenvolvimento local, não há mais a necessidade de usar o Apache!

Em breve, farei um artigo falando apenas sobre esse recurso, aguarde.

Conclusão

Espero que vocês tenham gostado dessa lista de novidades que você encontra no PHP 5.4… E se você ainda não atualizou seu(s) servidor(es), o que está esperando!? :)

10 ideias sobre “PHP 5.4 – Novidades e novas funcionalidades

  1. Pingback: Instalando PHP 5.4 com Homebew no OS X | Thiago Belem / Blog

  2. Pingback: PHP 5.4 - Servidor interno | Thiago Belem / Blog

  3. Pingback: O CakePHP 3.0 já está no forno! | Thiago Belem / Blog

  4. Fernando Daciuk

    Bem legal Thiago! A sintaxe tá ficando cada vez mais parecido com o JS, hehe! Bem que pra fazer arrays bi ou multidimensionais, poderiam ter implementado igual no JS já, com as chaves ;)

      1. Fernando Daciuk

        Entendi :)

        O que eu quis dizer na verdade seria o seguinte:

        Com essa versão, podemos escrever assim:
        $idades = [‘Thiago’ => 23, ‘Fulano’ => 18, ‘Ciclano’ => 35];

        Seria legal se pudéssemos escrever assim, pra ficar mais próximo do que fazemos com JS hoje:
        $idades = [{‘Thiago’ : 23, ‘Fulano’ : 18, ‘Ciclano’ : 35}];

    1. Michel Brito

      Fernando Daciuk,

      Nesse caso:
      $idades = [‘Thiago’ => 23, ‘Fulano’ => 18, ‘Ciclano’ => 35];

      Em JS seria:
      var idades = {‘Thiago': 23, ‘Fulano': 18, ‘Ciclano': 35};

      Ou se for usar uma coleção de itens:
      $idades = [[‘Thiago’ => 23], [‘Fulano’ => 18], [‘Ciclano’ => 35]];

      Em JS:
      var idades = [{‘Thiago': 23}, {‘Fulano': 18}, {‘Ciclano': 35}];

  5. Pingback: PHP 5.4 - Traits | Thiago Belem / Blog

Os comentários estão fechados.