5 melhorias no tão esperado PHP7

php7

O PHP 7 nos trouche diversas novidades. Com a recomendação das Bos Préticas e padrões recomendados pelo PHP enfrentaremos pouquíssimos problemas.

Mas vamos a algumas novidades expostas no lançamento do PHP 7


1. Melhoramento do seu desempenho
O PHP 7 teve seu motor completamente re-escrito, trazendo um grande ganho de desempenho.

Em alguns casos, é possível alcançar até 9 vezes mais velocidade. Mas esse número pode variar conforme a plataforma e a aplicação utilizada nos testes.

2. Remoção do Mysql
Desde o PHP 5.5, as funções mysql_* eram consideradas obsoletas. Ou seja, tudo indicava que elas seriam removidas em um futuro bem próximo.

No PHP 7, as funções mysql_* (como mysql_connect(), mysql_query() e outras) deixaram de existir. Agora é preciso utilizar MySQLi ou PDO.

Uma ótima opção é utilizar a PDO por ser mais robusta e ser independente de SGBD.

3. Funções ereg_* removidas
Além das funções mysql_*, as funções ereg_* e eregi_* (como ereg(), ereg_replace, eregi() e outras) eram consideradas obsoletas desde o PHP 5.3.

Elas também foram removidas no PHP 7.

Agora é preciso usar as funções preg_*, da biblioteca PCRE, como preg_match e preg_replace.

As funções preg_* exigem delimitadores. Consequentemente, é possível utilizar modificadores, como “i” e “u”. O “i”, por exemplo, significa case-insensitive. Ou seja, se você usava eregi_*, passará a usar preg_*, sempre com o modificador “i”.

4. Exceções e erros fatais
No PHP 7, erros fatais passaram a ser Exceções. Isso quer dizer que eles podem ser tratados em bloco try/catch, sem interromper a execução do script.

Para exemplificar, vamos executar este código (no PHP 7, não no PHP 5):

ereg(‘^[a-z]$’, ‘php7’);
echo “FIM”;

Veremos este erro:

Fatal error: Uncaught Error: Call to undefined function ereg()…
E o texto “FIM” não será exibido. Isso ocorre pois a exceção interrompe o script.

Agora execute este script:

try
{
ereg(‘^[a-z]$’, ‘php7’);
}
catch (Error $e)
{
echo “Ocorreu um erro: ” . $e->getMessage();
}

echo “FIM”;
Você verá a seguinte saída:

Ocorreu um erro: Call to undefined function ereg()
FIM

Ou seja, nossa aplicação tratou a exceção e a execução continuou normalmente.

5. Operador NULL COALESCE
O nome parece complicado, mas ele faz algo bem simples.

Ele é útil para verificar a existência de variáveis, como fazemos com valores de $_GET ou $_POST, usando isset.

Ele faz com que esta linha:

$email = $_POST[‘email’] ?? ‘valor padrão’;

… seja transformada nesta:

$email = isset($_POST[‘email’]) ? $_POST[‘email’] : ‘valor padrão’;

Super simples!