3 pontos por xguru 2020-02-04 | 2 comentários | Compartilhar no WhatsApp

O que será adicionado ao PHP 8, que será lançado no fim deste ano

  • Tipos union: no formato int|float, e |null é ?

  • JIT

  • Tipo de retorno static

  • WeakMap para armazenar referências de objetos

  • ::class em objetos no lugar de get_class()

  • DateTime::createFromInterface()

  • Função fdiv

  • Anotações de tipo para funções embutidas

Mudanças que quebram compatibilidade

  • Funções embutidas também passam a lançar exceções TypeErrors

  • Muitos erros que antes emitiam apenas avisos passam a lançar exceções apropriadas

  • Com o nível padrão de relatório de erros definido como E_ALL, muitos erros que eram ignorados silenciosamente passarão a aparecer

  • O operador @ deixa de ignorar erros fatais

  • Ajuste na precedência dos operadores de concatenação '.' e '+', '-'. +/- passam a ser processados antes de '.'

2 comentários

 
kunggom 2020-02-04

É isso mesmo, atualização de versão major tem aquele gostinho de quebrar compatibilidade! (…)

 
xguru 2020-02-04

Mais do que os novos recursos, a grande mudança mesmo parece ser na parte de tratamento de erros e exceções lá embaixo.

Se alguém atualizar sem pensar muito, sites em PHP que antes simplesmente ignoravam erros em silêncio e seguiam em frente provavelmente vão acabar tendo problemas.