O PHP 5.6 existe desde 2014 mas continua sendo uma das versões que o The PHP Group mantém em constante atualização. Ele representa um grande salto de performance e funções em relação as suas versões anteriores (5.3, 5.4 e 5.5) e com isso há detalhes que precisamos observar em nossos sites para que tudo continue funcionando bem, com segurança e com melhor performance.
É difícil manter nossos sistemas atualizados, sobretudo aqueles que apresentam maior complexidade. Porém, se atualizarmos um pouquinho a cada dia, essa tarefa se torna mais tranquila. Neste artigo vamos falar do por que atualizar a versão do PHP para a 5.6.
Muitos acreditam que a atualização de sistemas demanda tempo e dinheiro, mas não visualizam que esta atividade pode, justamente, evitar que você venha a perdê-los em caso de um comprometimento do mesmo devido a falhas de segurança.
Por que atualizar a versão de PHP do site?
Há várias razões para fazer a atualização do PHP. Uma delas é o fato das versões anteriores à 5.6 estarem descontinuadas. Ou seja, elas não oferecem mais atualizações de segurança, deixando seus sistemas vulneráveis a ataques maliciosos.
Outros dois bons motivos para atualizar são a performance e o consumo de recursos. A cada versão do PHP, a velocidade de execução de scripts é melhorada, além deles utilizarem cada vez menos recursos computacionais. Para corroborar esta afirmação, o gráfico abaixo demonstra o quanto uma aplicação PHP pode atender a mais requisições apenas efetuando a troca de versão.
➡ Logicamente, quanto mais recente a versão do PHP, melhor ela será em questão de performance e segurança. Em contrapartida, pode ser que sua aplicação não esteja totalmente preparada para rodar nas versões mais recentes.
Para qual versão atualizar minha aplicação?
Se você utiliza atualmente uma versão do PHP inferior à versão 5.6, o ideal é atualizar justamente para a 5.6, a fim de aproveitar agora mesmo os ganhos de performance e segurança que esta versão traz para a série 5.x sem que ocorra grandes incompatibilidades (como funções que sua aplicação utiliza e que agora estão depreciadas).
Porém, como a versão 5.6 entrará em final de ciclo de vida (EOL) no final deste ano, foque seus esforços em migrar para a série 7.x, visto que a versão 5.6 entra no final de seu ciclo de vida em novembro de 2018.
O que mudou no PHP 5.6 que eu devo me preocupar?
Nova sintaxe de arrays
Foi adicionado suporte ao short array syntax, em vez de declarar um array.
$antigo = array("Laranja", "Rosa", "Vermelho", "Preto");
$novo = ["Laranja", "Rosa", "Vermelho", "Preto"];
Uso de mysqli
Algumas funções da extensão mysql vem se tornando obsoletas desde a versão 5.3 do PHP, algumas inclusive já foram removidas da versão 7. Como alternativa, é possível utilizar as extensões PDO_MySQL ou a mysqli. Para saber mais, acesse: Como conectar um banco de dados MySQL utilizando PHP.
magic_quotes => addslashes()
O uso do magic_quotes foi descontinuado pelo PHP, com isso ganhamos mais performance no PHP. É possível utilizar a função addslashes(), quando necessário, para substituir o magic_quotes.
ereg, eregi => preg_match()
Tanto a função ereg quanto a eregi foram removidas da versão mais recente do PHP devido a bugs encontrados nelas.
<?php //ereg => preg_match
$date = date("Y-m-d");
ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $r);
var_dump($r);
$date = date("Y-m-d");
preg_match("/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/", $date, $matches);
var_dump($matches);
?>
ereg_replace, eregi_replace => preg_replace()
Assim como o ereg() e o eregi(), as funções ereg_replace() e eregi_replace() também foram removidas na versão mais recente do PHP. Essas funções podem ser facilmente substituídas pela função preg_replace(). Abaixo há um exemplo para a migração da função.
<?php //ereg_replace => preg_replace()
$num = '5';
$string = "Essa frase tem cinco palavras.";
$string = ereg_replace('cinco', $num, $string);
var_dump($string);
$num = '5';
$string = "Essa frase tem cinco palavras.";
$string = preg_replace('/cinco/', $num, $string);
var_dump($string);
?>
session_register, session_unregister, session_is_registered => $_SESSION
As funções session_register(), session_unregister() e session_is_registered() deixaram de funcionar desde a versão 5.4 do PHP. Porém, é possível utilizar a a variável super global $_SESSION.
php_mssql => sql_srv
A biblioteca mssql já não vem mais habilitada desde a versão 5.3 do PHP. Atualmente a Microsoft desenvolveu o driver sqlServ, que pode ser utilizada como substituto ao php_mssql.
split => explode
A função split tornou-se obsoleta na versão 5.3. Há alternativas para substituição, como preg_split(), str_split() ou explode().
Você não é um programador?
Então talvez seja a hora de procurar a pessoa que desenvolveu o seu site ou um outro profissional da área. Se você utiliza uma plataforma CMS como o WordPress, é extremamente importante que você mantenha o CMS atualizado em sua versão mais recente possível.
Você também pode conferir este conteúdo em nosso blog: https://king.host/blog/2016/06/porque-atualizar-versao-do-php-para-5-6/. Conteúdo elaborado pelos colaboradores Franklin Fernandes e Diego Cassolli – Analistas de Infraestrutura na KingHost.