PHP 5.4 – Novidades e novas funcionalidades

php-5-4-novidade-topo

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:

$nomes = array(‘Thiago’, ‘Fulano’, ‘Ciclano’);
$idades = array(‘Thiago’ => 23, ‘Fulano’ => 18, ‘Ciclano’ => 35);

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

$nomes = ['Thiago', 'Fulano', 'Ciclano'];
$idades = ['Thiago' => 23, 'Fulano' => 18, 'Ciclano' => 35];

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:

$arquivo = ‘relatorio.pdf’;
$partes = explode(‘.’, $arquivo);
// $partes = array(‘relatorio’, ‘pdf’);
$extensao = $partes[1]; // pdf

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

$arquivo = ‘relatorio.pdf’;
$extensao = explode(‘.’, $arquivo)[1]; // pdf

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:

<?php echo “Olá mundo!” ?>
equivale à…
<?=“Olá mundo!”?>

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:

// Como era antes
$Log = new Log;
$Log->write(‘Olá mundo!’);
// Como você pode fazer agora
(new Log)->write(‘Olá mundo!’);

Servidor [de desenvolvimento] 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!

Fonte: Thiago Belém

Postagens Relacionadas