Documentación offline PHP master

Funcionalidades obsoletas

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

Funcionalidades obsoletas#

Núcleo PHP#

  • Si un parámetro con un valor predeterminado es seguido por un parámetro obligatorio, el valor predeterminado no tiene efecto. Esto está obsoleto a partir de PHP 8.0.0 y generalmente puede resolverse eliminando el valor predeterminado, sin cambiar la funcionalidad:

```php

```

Una excepción a esta regla son los parámetros de la forma Type $param = null, donde el valor predeterminado null hace que el tipo sea implícitamente nullable. Este uso sigue estando permitido, pero se recomienda usar un tipo nullable explícito en su lugar:

```php

```

  • Llamar a get_defined_functions con exclude_disabled establecido explícitamente a false está obsoleto y ya no tiene efecto. get_defined_functions nunca incluirá funciones deshabilitadas.

Enchant#

  • enchant_broker_set_dict_path y enchant_broker_get_dict_path están obsoletas, porque esa funcionalidad no está disponible ni en libenchant \< 1.5 ni en libenchant-2.

  • enchant_dict_add_to_personal está obsoleta; use enchant_dict_add en su lugar.

  • enchant_dict_is_in_session está obsoleta; use enchant_dict_is_added en su lugar.

  • enchant_broker_free y enchant_broker_free_dict están obsoletas; use unset sobre el objeto en su lugar.

  • Las constantes ENCHANT_MYSPELL y ENCHANT_ISPELL están obsoletas.

LibXML#

libxml_disable_entity_loader ha sido desaprobada. Como ahora se requiere libxml 2.9.0, la carga de entidades externas está garantizada como deshabilitada por defecto, y esta función ya no es necesaria para proteger contra ataques XXE, a menos que se utilice LIBXML_NOENT. En ese caso, se recomienda refactorizar el código usando libxml_set_external_entity_loader para suprimir la carga de entidades externas.

PGSQL / PDO PGSQL#

  • La constante PGSQL_LIBPQ_VERSION_STR ahora tiene el mismo valor que PGSQL_LIBPQ_VERSION, y por lo tanto está obsoleta.

  • Los alias de funciones en la extensión pgsql han sido desaprobados. Consulte la siguiente lista para saber qué funciones deben usarse en su lugar:

pg_errormessagepg_last_error, pg_numrowspg_num_rows, pg_numfieldspg_num_fields, pg_cmdtuplespg_affected_rows, pg_fieldnamepg_field_name, pg_fieldsizepg_field_size, pg_fieldtypepg_field_type, pg_fieldnumpg_field_num, pg_resultpg_fetch_result, pg_fieldprtlenpg_field_prtlen, pg_fieldisnullpg_field_is_null, pg_freeresultpg_free_result, pg_getlastoidpg_last_oid, pg_locreatepg_lo_create, pg_lounlinkpg_lo_unlink, pg_loopenpg_lo_open, pg_loclosepg_lo_close, pg_loreadpg_lo_read, pg_lowritepg_lo_write, pg_loreadallpg_lo_read_all, pg_loimportpg_lo_import, pg_loexportpg_lo_export, pg_setclientencodingpg_set_client_encoding, pg_clientencoding -> pg_client_encoding

Biblioteca estándar#

  • Las funciones de comparación para ordenamiento que devuelven true o false ahora emitirán una advertencia de obsolescencia, y deberían ser reemplazadas por una implementación que devuelva un entero menor, igual o mayor que cero.

```php $a > $b); // With usort($array, fn($a, $b) => $a <=> $b); ?>

```

Zip#

  • El uso de un archivo vacío como ZipArchive está obsoleto. Libzip 1.6.0 ya no acepta archivos vacíos como archivos zip válidos. La solución alternativa existente será eliminada en la próxima versión.

  • La API procedural de Zip está obsoleta. Use ZipArchive en su lugar. La iteración sobre todas las entradas puede realizarse usando ZipArchive::statIndex y un bucle for:

```php statIndex($i); $i++) { echo $entry['name']; } ?>

```

Reflexión#

  • ReflectionFunction::isDisabled está obsoleto, ya que ya no es posible crear un ReflectionFunction para una función deshabilitada. Este método ahora siempre devuelve false.

  • ReflectionParameter::getClass, ReflectionParameter::isArray y ReflectionParameter::isCallable están obsoletos. En su lugar deberían usarse ReflectionParameter::getType y las API de ReflectionType.