PHP 8.4.1 Released!

Recursos Descontinuados

Núcleo do PHP

Parâmetro implicitamente anulável

O tipo de um parâmetro é implicitamente ampliado para aceitar null se o valor padrão para ele for null.

O código a seguir:

<?php
function foo(T1 $a = null) {}
deve ser convertido para:
<?php
function foo(T1|null $a = null) {}
ou
<?php
function foo(?T1 $a = null) {}

No entando, se tal declaração de parâmetro for seguida por um parâmetro mandatório:

<?php
function foo(T1 $a, T2 $b = null, T3 $c) {}
Precisa ser convertido para:
<?php
function foo(T1 $a, T2|null $b, T3 $c) {}
ou
<?php
function foo(T1 $a, ?T2 $b, T3 $c) {}
já que posicionar parâmetro opcional antes de parâmetros requeridos foi descontinuado.

Elevando zero à potência negativa

Elevar um número à potência de um número negativo equivale a elevar o inverso do número ao oposto positivo da potência. Isto é, 10-2 é o mesmo que 1 / 102. Portanto, elevar 0 à potência de um número negativo corresponde a dividir por 0, ou seja, 0-2 é o mesmo que 1 / 02, ou 1 / 0. Sendo assim, esse comportamento foi descontinuado.

Isso afeta o operador de exponenciação ** e a função pow().

Se a intenção for usar a semântica da IEEE 754, deve-se usar a nova função fpow().

Usando sublinhado _ como nome de classe

Nomear uma classe como _ foi descontinuado:

<?php
class _ {}

Nota:

Classes cujos nomes iniciam com um sublinhado não foram descontinuadas:

<?php
class _MyClass {}

Usando trigger_error() com E_USER_ERROR

Chamar trigger_error() com error_level igual a E_USER_ERROR foi descontinuado.

Tais usos devem ser substituídos pelo lançamento de uma exceção ou pela chamada a exit(), o que for mais apropriado.

A constante E_STRICT

Como o nível de erro E_STRICT foi removido, esta constante foi descontinuada.

cURL

A constante CURLOPT_BINARYTRANSFER foi descontinuada.

Date

A assinatura DatePeriod::__construct(string $isostr, int $options = 0) foi descontinuada. Use DatePeriod::createFromISO8601String() em seu lugar.

As constantes SUNFUNCS_RET_TIMESTAMP, SUNFUNCS_RET_STRING, e SUNFUNCS_RET_DOUBLE foram descontinuadas. Isto deriva da descontinuação das funções date_sunset() e date_sunrise() no PHP 8.1.0.

DBA

Passar null ou false para dba_key_split() foi descontinuado. A funçao sempre retornará false nesses casos.

DOM

A constante DOM_PHP_ERR foi descontinuada.

As seguintes propriedades foram formalmente descontinuadas:

  • DOMDocument::$actualEncoding
  • DOMDocument::$config
  • DOMEntity::$actualEncoding
  • DOMEntity::$encoding
  • DOMEntity::$version

Hash

Passar opções inválidas para funções hash foi descontinuado.

Intl

Chamar a função intlcal_set() ou o método IntlCalendar::set() com mais de dois argumentos foi descontinuado. Use IntlCalendar::setDate() ou IntlCalendar::setDateTime() alternativamente.

Chamar a função intlgregcal_create_instance() ou o método IntlGregorianCalendar::__construct() com mais de dois argumentos foi descontinuado. Use IntlGregorianCalendar::createFromDate() ou IntlGregorianCalendar::createFromDateTime() alternativamente.

LDAP

Chamar ldap_connect() com mais de dois argumentos foi descontinuado. Use ldap_connect_wallet() instead.

Chamar ldap_exop() com mais de quatro argumentos foi descontinuado. Use ldap_exop_sync() em seu lugar.

MySQLi

A função mysqli_ping() e o método mysqli::ping() foram descontinuados devido ao recurso de reconexão ter sido removido no PHP 8.2.0.

A função mysqli_kill() e o método mysqli::kill() foram descontinuados. Se esta funcionalidade for necessária, um comando SQL KILL pode ser usado alternativamente.

A função mysqli_refresh() e o métodomysqli::refresh() foram descontinuados. Se esta funcionalidade for necessária, um comando SQL FLUSH pode ser usado alternativamente. Todas as constantes MYSQLI_REFRESH_* também foram descontinuadas.

Passar explicitamente o parâmetro mode a função mysqli_store_result() foi descontinuado. Como a constante MYSQLI_STORE_RESULT_COPY_DATA era usada somente em conjunto com esta função, ela também foi descontinuada.

PDO_PGSQL

Usar pontos de interrogação escapados (??) dentro de strings envolvidas por cifrão foi descontinuado. Como o PDO_PGSQL agora tem seu próprio analisador SQL com suporte a strings envolvidas com cifrão, não é mais necessário escapar pontos de interrogação dentro delas.

PGSQL

As assinaturas de 2 argumentos das funções pg_fetch_result(), pg_field_prtlen() e pg_field_is_null() foram descontinuadas. Alternativamente, devem ser usadas as assinaturas de 3 argumentos com row definido para null.

Random

lcg_value() foi descontinuada, já que esta função foi quebrada de várias maneiras. Alternativamente, o método Random\Randomizer::getFloat() deve ser usado.

Reflection

Chamar ReflectionMethod::__construct() com um argumento foi descontinuado. Alternativamente, o método ReflectionMethod::createFromMethodName() deve ser usado.

Session

Chamar session_set_save_handler() com mais de dois argumentos foi descontinuado. Alternativamente, a assinatura com dois argumentos deve ser usada.

Alterar o valor das configurações INI session.sid_length e session.sid_bits_per_character foi descontinuado. Alternativamente, deve-se atualizar o mecanismo de armazenamento de sessão para aceitar IDs de sessão hexadecimais de 32 caracteres e parar de alterar essas duas configurações INI.

Alterar o valor das configurações INI session.use_only_cookies, session.use_trans_sid, session.trans_sid_tags, session.trans_sid_hosts e session.referer_check foi descontinuado. A constante SID também foi descontinuada.

SOAP

Passar um int para SoapServer::addFunction() foi descontinuado. Se todas as funções PHP precisarem ser fornecidas, converta o array multidimensional retornado por get_defined_functions() em um array unidimensional.

A constante SOAP_FUNCTIONS_ALL foi descontinuada.

SPL

O método SplFixedArray::__wakeup() foi descontinuado, já que ele implementa SplFixedArray::__serialize() e SplFixedArray::__unserialize(), que precisam ser sobrescritos.

Usar o valor padrão para o parâmetro escape para os métodos SplFileObject::setCsvControl(), SplFileObject::fputcsv() e SplFileObject::fgetcsv() foi descontinuado. Ele deve ser explicitamente passado, posicionalmente ou através de argumentos nomeados. Isto não se aplica a SplFileObject::fputcsv() e SplFileObject::fgetcsv() se SplFileObject::setCsvControl() foi usado para definir um novo valor padrão.

Standard

Chamar stream_context_set_option() com dois argumentos foi descontinuado. Alternativamente, a função stream_context_set_options() deve ser usada.

Desserializar strings usando a etiqueta S maiúscula com unserialize() foi descontinuado.

Usar o valor padrão para o parâmetro escape para as funções fputcsv(), fgetcsv() e str_getcsv() foi descontinuado. Ele precisa ser explicitamente passado, posicionalmente ou através de argumentos nomeados.

XML

A função xml_set_object() foi descontinuada.

Passar strings de tipo não-callable para as funções xml_set_()* foi descontinuado.

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top