Não é uma novidade, mas vale ressaltar as melhorias e novidades que o PHP 7 nos trouxeram. Irei deixar neste post alguns detalhes sobre algumas das novidades que esta incrível linguagem de programação implementou.
Desempenho:
Testes e benchmarks realizados mostram que o PHP 7 pode ser até duas vezes mais rápido que os releases da versão 5.x, ficando páreo com o projeto HHVM, do Facebook, um compliador JIT para código PHP. Alguns reviews mostram que o PHP 7 pode chegar a ser até mesmo nove vezes mais rápido que a 5.6.
Alguns dos testes executados por desenvolvedores mostram o grande ganho do desempenho da linguagem, como ilustra a imagem abaixo:
A Zend, empresa por trás de certificações PHP, também responsável por um dos melhores frameworks PHP o ZendFramework, disponibilizou algumas das melhorias de desempenho ganhas em empresas reconhecidas no ramo da tecnologia. Confira as imagens logo abaixo:
Não só o desempenho foi melhorado no PHP 7, também há alguns recursos novos como:
– MySql removido.
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.
Recomendo utilizar PDO, por ser mais robusta e ser independente de SGBD.
– Erros Fatais e Exceções.
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.
Exemplificando:
A execução do código acima terá a seguinte saída:
– Construtores do PHP 4 obsoletos.
Antes do PHP 5, os construtores recebiam o mesmo nome da classe. Por exemplo:
Isso continuou funcionando no PHP 5, mas era recomendado usar o método __construct, ficando desta forma:
O PHP 7 recomenda que seja usado método __construct em vez do método com o mesmo nome da classe. Ou seja, o uso de construtores no padrão do PHP 4 continuará sendo possível, mas é um recurso obsoleto (Deprecated).
– Instrução de Tipos: Scalar Types
PHP é uma linguagem NÃO tipada.
Aos poucos ela vem ganhando alguns recursos que a torna fracamente tipada.
Isso significa que podemos criar códigos mais consistentes e menos suscetíveis a erros e problemas.
O PHP 5 já possui o recurso de Indução de Tipos.
É possível definir alguns tipos para parâmetros de métodos e funções. Mas só é possível definir dois tipos: arrays (o tipo “array”) e objetos (com o nome da classe).
A partir do PHP 7, poderemos usar outros tipos também: int, float, string e bool.
Esses tipos podem ser definidos nos parâmetros de funções e métodos, como já era feito no PHP 5. Mas agora há uma novidade: também poderemos definir o tipo do retorno.
– Novo operador Spaceship (<=>)
Esse operador recebe o nome de “Spaceship” em algumas outras linguagens, e é usado para comparação numérica.
Se você já usou a função strcmp(), com certeza vai entender esse operador sem dificuldades.
Mesmo se não usou, é simples de entender.
– Null Coalesce Operator (??)
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:
Seja transformada nesta:
Conclusão
O PHP 7 traz diversas novidades. E, se você seguia as Boas Práticas e padrões que o PHP recomendava, a partir da versão 5.5, provavelmente terá pouquíssimos problemas (ou nenhum) para migrar para o PHP 7. Fique à vontade e desfrute dessas diversas novidades.