Recursos defasados na versão PHP 7.2.x
Strings sem aspas
Strings sem aspas que não são constantes globais são consideradas
strings delas mesmas. Este comportamento costumava emitir um
E_NOTICE
, mas agora irá emitir um
E_WARNING
. Na próxima versão maior do PHP, uma exceção
Error será lançada no lugar.
As funções png2wbmp() e jpeg2wbmp()
da extensão GD foram descontinuadas e serão removidas
na próxima versão maior do PHP.
INTL_IDNA_VARIANT_2003
variante
A extensão Intl descontinuou a variante
INTL_IDNA_VARIANT_2003
, que está sendo usada atualmente
como padrão para idn_to_ascii() e
idn_to_utf8(). PHP 7.4 irá mudar esses padrões para
INTL_IDNA_VARIANT_UTS46
, e a próxima versão maior do
PHP irá remover INTL_IDNA_VARIANT_2003
completamente.
O método __autoload() foi descontinuado porque é
inferior ao spl_autoload_register() (devido a não ser
permitido encadear autoloaders), e não há interoperabilidade entre os dois
estilos de autoloading.
Configuração ini track_errors
e variável $php_errormsg
Quando a configuração ini track_errors
está ativada, uma
variável $php_errormsg
é criada no escopo local quando
um erro não fatal ocorre. Dado que a maneira preferida de recuperar tais
informações de erro é usando error_get_last(), este
recurso foi descontinuado.
Dado os problemas de segurança desta função (sendo um wrapper ao redor de
eval()), esta função datada foi descontinuada.
A alternativa preferida é o uso de funções anônimas.
Configuração ini mbstring.func_overload
Dado os problemas de interoperabilidade das funções baseadas em string sendo usadas em
ambientes com esta configuração ativada, ela será despreciada.
Conversão (unset)
Convertendo qualquer expressão para este tipo sempre resultará em null
, e então
esta conversão de tipo supérflua foi descontinuada.
parse_str() sem um segundo argumento
Sem o segundo argumento para parse_str(), os parâmetros de
string de consulta preenchiam a tabela de símbolos local.
Dado as implicações de segurança disto, usar
parse_str() sem um segundo parâmetro foi
descontinuado. A função deve sempre ser usada com dois argumentos, como o
segundo argumento faz com que a string de consulta seja analisada em um array.
Esta função gera um número aleatório baseado em um intervalo
calculado por um tamanho de membro específico da plataforma não exposto. Por isso, esta
função foi descontinuada. A maneira preferida de gerar um
número aleatório usando a extensão GMP é com
gmp_random_bits() e
gmp_random_range().
Esta função é muito mais lenta na iteração do que um
foreach
normal, e causa problemas de implementações para algumas
mudanças da linguagem. Portanto, ela foi descontinuada.
assert() com um argumento string
Usar assert() com um argumento string requer que a string
seja passada para eval(). Dado o potencial para a execução de
código remoto, usar assert() com um argumento string foi
descontinuado em favor de usar expressões booleanas.
$errcontext
argumento para manipuladores de erros
O argumento $errcontext
contém todas as variáveis locais
de erro do site. Dado a raridade do uso, e os problemas causados com as
otimizações internas, ele foi descontinuado.
Ao invés disto, um debugger deve ser usado para recuperar
informações nas variáveis locais de erro do site.