## Recursos descontinuados 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 encapsulador 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.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open