Recursos depreciados

PHP Core

  • Se um parâmetro com um valor padrão é seguido por um parâmetro obrigatório, o valor padrão não tem efeito. Essa funcionalidade está depreciada a partir do PHP 8.0.0 e geralmente pode ser resolvido eliminando o valor padrão, sem mudança na funcionalidade:

    <?php
    function test($a = [], $b) {} // Antes
    function test($a$b) {}      // Depois
    ?>

    Uma exceção à esta regra são os parâmetros escritos de seguinte forma: Type $param = null, onde o valor padrão nulo torna o tipo implicitamente anulável. Este uso continua permitido, mas é recomendado o uso de um tipo anulável explícito:

    <?php
    function test(A $a null$b) {} // Ainda é permitido
    function test(?A $a$b) {}       // Recomendável
    ?>

  • Chamar a função get_defined_functions() com o parâmetro exclude_disabled definido explicitamente como false está depreciado e não tem mais efeito. A função get_defined_functions() nunca incluirá funções desabilitadas.

Enchant

LibXML

A função libxml_disable_entity_loader() foi depreciada. Como a libxml 2.9.0 agora é obrigatória, o carregamento de entidade externa está desabilitado por padrão, e esta função não é mais necessária para a proteção contra ataques XXE, a não ser que a (ainda vulnerável). LIBXML_NOENT for utilizada. Nesse caso, é recomendado refazer o código utilizando libxml_set_external_entity_loader() para suprimir o carregamento de entidades externas.

PGSQL / PDO PGSQL

Biblioteca Padrão

  • Funções sort que retornam true ou false agora lançam um aviso de depreciação, e deve ser substituído por uma implementação que retorna um número inteiro menor, igual ou maior que zero.

    <?php
    // Substituir
    usort($arrayfn($a$b) => $a $b);
    // Por
    usort($arrayfn($a$b) => $a <=> $b);
    ?>

Zip

  • Usar um arquivo vazio como ZipArchive está depreciado. A Libzip 1.6.0 não aceita mais arquivos vazios como arquivos zip válidos. A solução alternativa existente será removida na próxima versão.

  • A API procedural do Zip está depreciada. Use ZipArchive em seu lugar. A iteração em todas as entradas pode ser realizada usando ZipArchive::statIndex() e um laço for:

    <?php
    // iterar usando a API procedural
    assert(is_resource($zip));
    while (
    $entry zip_read($zip)) {
        echo 
    zip_entry_name($entry);
    }

    // iterar usando a API orientada a objetos
    assert($zip instanceof ZipArchive);
    for (
    $i 0$entry $zip->statIndex($i); $i++) {
        echo 
    $entry['name'];
    }
    ?>

Reflection

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top