Funcionalidades desaprobadas
PHP Core
Parámetro implícitamente anulable
Un parámetro se amplía implícitamente para aceptar null
si el valor por defecto es null
.
El siguiente código:
debería convertirse en:
o
De lo contrario, si una declaración de parámetro es seguida por un parámetro
obligatorio:
Debe convertirse en:
o
porque los parámetros opcionales antes de los parámetros obligatorios están desaprobados.
Elevar cero a la potencia de un número negativo
Elevar un número a la potencia de un número negativo es equivalente a tomar
el recíproco del número elevado al opuesto positivo de la potencia.
Es decir, 10-2
es equivalente a
1 / 102
.
Por lo tanto, elevar 0
a la potencia de un número negativo
corresponde a una división por 0
, es decir, que
0-2
es equivalente a
1 / 02
, o
1 / 0
. Por lo tanto, este comportamiento ha sido desaprobado.
Esto afecta al operador de exponenciación **
y a la función pow().
Si se desea la semántica IEEE 754, se debe usar la nueva
función fpow().
Uso del guion bajo _
como nombre de clase
Llamar a una clase _
ahora está desaprobado:
Nota:
Las clases cuyo nombre comienza con un guion bajo no están
desaprobadas:
Llamar a trigger_error() con
error_level
igual a
E_USER_ERROR
ahora está desaprobado.
Tal uso debería ser reemplazado por lanzar una excepción,
o llamar a exit(), según lo que sea más apropiado.
Debido a que el nivel de error E_STRICT
ha sido eliminado,
esta constante ahora está desaprobada.
DOM
La constante DOM_PHP_ERR
ahora está desaprobada.
Las siguientes propiedades han sido formalmente desaprobadas:
Hash
Pasar opciones no válidas a las funciones de hash ahora está desaprobado.
Intl
Llamar a intlcal_set() o
IntlCalendar::set()
con más de dos argumentos ahora está desaprobado.
Usar IntlCalendar::setDate() o
IntlCalendar::setDateTime() en su lugar.
Llamar a intlgregcal_create_instance() o
IntlGregorianCalendar::__construct()
con más de dos argumentos ahora está desaprobado.
Usar intlgregcal_create_instance() o
IntlGregorianCalendar::createFromDateTime() en su lugar.
MySQLi
La función mysqli_ping() y
el método mysqli::ping()
ahora están desaprobados porque la funcionalidad de reconexión fue eliminada en PHP 8.2.0.
La función mysqli_kill() y
el método mysqli::kill()
ahora están desaprobados.
Si esta funcionalidad es necesaria, se puede usar un comando SQL KILL
en su lugar.
La función mysqli_refresh() y
el método mysqli::refresh()
ahora están desaprobados.
Si esta funcionalidad es necesaria, se puede usar un comando SQL FLUSH
en su lugar.
Todas las constantes MYSQLI_REFRESH_*
también han sido desaprobadas.
Pasar el parámetro mode
a
mysqli_store_result() explícitamente ha sido desaprobado.
Como la constante MYSQLI_STORE_RESULT_COPY_DATA
solo se usaba
en conjunción con esta función, también ha sido desaprobada.
PDO_PGSQL
Usar puntos de interrogación escapados (??
) dentro
de cadenas delimitadas por dólares ahora está desaprobado.
Como PDO_PGSQL ahora tiene su propio analizador SQL con soporte para cadenas delimitadas por dólares, ya no es necesario escapar los puntos de interrogación dentro de ellas.
XML
La función xml_set_object() ha sido desaprobada.
Pasar una cadena no-callable a las funciones
xml_set_()*
ahora está desaprobado.