PHP 8.5.0 Released!

Fonctionnalités dépréciées

PHP Core

Changement aux gestionnaires de sortie utilisateur

Essayer de produire une sortie (par exemple avec echo) dans un gestionnaire de sortie utilisateur est déprécié. L'avertissement de dépréciation contournera le gestionnaire produisant la sortie pour s'assurer qu'elle soit visible ; s'il y a des gestionnaires de sortie imbriqués, le suivant sera toujours utilisé.

Les noms de cast non canoniques

Les noms de cast non canoniques (boolean), (integer), (double), et (binary) ont été dépréciés. Utiliser (bool), (int), (float), et (string) respectivement.

Terminer les instructions case par un point-virgule

Terminer les instructions case par un point-virgule au lieu d'un deux-points a été déprécié.

L'opérateur backtick (accent grave)

L'opérateur backtick (accent grave) en tant qu'alias de shell_exec() a été déprécié.

Retourner null depuis __debugInfo()

Retourner null depuis __debugInfo() a été déprécié. Retourner un tableau vide à la place.

Directive INI report_memleaks

La directive INI report_memleaks a été dépréciée.

Redéclaration de constantes

La redéclaration de constantes a été dépréciée. Notez que cela générait déjà un avertissement et continuera à le faire.

Problèmes de liaison des fermetures

Les problèmes suivants de liaison des fermetures, qui génèrent déjà un E_WARNING, sont désormais dépréciés :

  • Liaison d'une instance à une fermeture statique.
  • Liaison de méthodes à des objets qui ne sont pas des instances de la classe (ou sous-classe) dans laquelle la méthode est définie.
  • Dissociation de $this d'une méthode.
  • Dissociation de $this d'une fermeture qui utilise `$this`.
  • Liaison d'une fermeture au contexte d'une classe interne.
  • Re-liaison du contexte d'une fermeture créée à partir d'une fonction ou d'une méthode.

Les méthodes magiques __sleep() et __wakeup()

Les méthodes magiques __sleep() et __wakeup() ont été doucement dépréciées. Les méthodes magiques __serialize() et __unserialize() devraient être utilisées à la place, ou en même temps si la compatibilité avec PHP 7 est requise.

Utilisation de null comme offset de tableau

L'utilisation de null comme offset de tableau ou lors de l'appel de array_key_exists() est désormais dépréciée. À la place, une chaîne vide doit être utilisée.

Incrémentation des chaînes non numériques

L'incrémentation des chaînes non numériques est désormais dépréciée. À la place, la fonction str_increment() doit être utilisée.

Directive INI register_argc_argv

La dérivation de $_SERVER['argc'] et $_SERVER['argv'] à partir de la chaîne de requête pour les SAPIs non-CLI a été dépréciée. Configurez register_argc_argv=0 et passez soit à $_GET soit à $_SERVER['QUERY_STRING'] pour accéder à l'information, après avoir vérifié que l'utilisation est sûre.

cURL

La fonction curl_close() a été dépréciée, car les objets CurlHandle sont libérés automatiquement.

La fonction curl_share_close() a été dépréciée, car les objets CurlShareHandle sont libérés automatiquement.

Date

Les constantes DATE_RFC7231 et DateTimeInterface::RFC7231 ont été dépréciées. Cela est dû au fait que le fuseau horaire associé est ignoré et utilise toujours GMT.

FileInfo

La fonction finfo_close() a été dépréciée, car les objets finfo sont libérés automatiquement.

Le paramètre $context de la fonction finfo_buffer() a été déprécié, car il est ignoré.

GD

La fonction imagedestroy() a été dépréciée, car les objets GdImage sont libérés automatiquement.

Hash

Les constantes MHASH_* ont été dépréciées.

Intl

La configuration INI intl.error_level a été dépréciée. Les erreurs doivent soit être vérifiées manuellement, soit les exceptions doivent être activées en utilisant la configuration INI intl.use_exceptions.

LDAP

Les appels et constantes spécifiques à Oracle Instant Client ont été dépréciés. Liste des appels affectés :

Liste des constantes affectées :
  • GSLC_SSL_NO_UATH
  • GSLC_SSL_ONEWAY_UATH
  • GSLC_SSL_TWOWAY_UATH

MySQLi

L'alias mysqli_execute() a été déprécié. Utilisez mysqli_stmt_execute() à la place.

OpenSSL

Le paramètre $key_length de la fonction openssl_pkey_derive() a été déprécié. Cela est dû au fait qu'il est soit ignoré, soit tronque la clé, ce qui peut être une vulnérabilité de sécurité.

PDO

Le schéma DSN "uri:" a été déprécié en raison de problèmes de sécurité liés aux DSN provenant d'URI distantes.

Les constantes spécifiques aux pilotes dans la classe PDO ont été dépréciées. Liste des constantes affectées et leur remplacement :

Les méthodes spécifiques aux pilotes dans la classe PDO ont été dépréciées. Liste des méthodes affectées et leur remplacement :

PDO_PGSQL

Les constantes liées aux états de transaction ont été dépréciées car cette fonctionnalité n'est pas disponible avec PDO :

  • PDO::PGSQL_TRANSACTION_IDLE
  • PDO::PGSQL_TRANSACTION_ACTIVE
  • PDO::PGSQL_TRANSACTION_INTRANS
  • PDO::PGSQL_TRANSACTION_INERROR
  • PDO::PGSQL_TRANSACTION_UNKNOWN

Reflection

Les méthodes setAccessible() de divers objets Reflection ont été dépréciées, car elles n'ont plus d'effet.

L'appel de ReflectionClass::getConstant() pour des constantes qui n'existent pas a été déprécié.

L'appel de ReflectionProperty::getDefaultValue() pour des propriétés sans valeurs par défaut a été déprécié.

SPL

La désinscription de tous les chargeurs automatiques en passant la fonction spl_autoload_call() comme argument de rappel à spl_autoload_unregister() a été dépréciée. Si cela est nécessaire, il faut plutôt itérer sur la valeur de retour de spl_autoload_functions() et appeler spl_autoload_unregister() sur chaque valeur.

Les méthodes SplObjectStorage::contains(), SplObjectStorage::attach(), et SplObjectStorage::detach() ont été dépréciées au profit de SplObjectStorage::offsetExists(), SplObjectStorage::offsetSet(), et SplObjectStorage::offsetUnset() respectivement.

L'utilisation de ArrayObject et ArrayIterator avec des objets a été dépréciée.

Standard

L'alias socket_set_timeout() a été déprécié. Utiliser stream_set_timeout() à la place.

Passer null à readdir(), rewinddir(), et closedir() pour utiliser le dernier répertoire ouvert a été déprécié. Fournir explicitement le dernier répertoire ouvert à la place.

Passer des entiers en dehors de l'intervalle [0, 255] à chr() est désormais déprécié. Ceci est dû au fait qu'un octet ne peut contenir qu'une valeur dans cet intervalle.

Passer des chaînes qui ne sont pas d'un octet à chr() est désormais déprécié, ceci est indicatif d'un bug.

La variable prédéfinie locale $http_response_header est dépréciée. Il faut plutôt appeler la fonction http_get_last_response_headers().

XML

La fonction xml_parser_free() a été dépréciée, car les objets XMLParser sont libérés automatiquement.

add a note

User Contributed Notes

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