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.
<?php
var_dump(NONEXISTENT);
/* Output:
Warning: Use of undefined constant NONEXISTENT - assumed 'NONEXISTENT' (this will throw an Error in a future version of PHP) in %s on line %d
string(11) "NONEXISTENT"
*/
png2wbmp() e jpeg2wbmp()
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.
__autoload() metódo
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.
create_function() function
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.
Função gmp_random()
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().
Função each()
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.
Função read_exif_data()
O atalho read_exif_data() foi descontinuado. A função exif_read_data() deve ser usada no lugar.