Développement & Refactoring27 Octobre 20265 min de lecture

« Deprecated: Creation of dynamic property » en PHP 8.2 : faut-il s'inquiéter ?

Ce message apparaît en grand nombre après le passage à PHP 8.2 ou 8.3. Il n'est pas fatal, mais il signale du code à mettre à jour. Voici ce qu'il veut dire et quand agir.

Réponse courte : « Deprecated: Creation of dynamic property » est un avertissement introduit en PHP 8.2. Il ne fait pas planter le site, mais il indique qu'une classe reçoit une propriété qu'elle n'a pas déclarée. C'est du code à corriger, pas une panne.

En PHP, on pouvait jusqu'ici ajouter une propriété à un objet sans l'avoir prévue dans la classe. PHP 8.2 le signale désormais. Le message nomme la classe et la propriété, par exemple « Creation of dynamic property Mon_Plugin::$options is deprecated ».

Faut-il s'inquiéter ? À court terme, non : le site continue de fonctionner. Mais ces avertissements remplissent les journaux, peuvent s'afficher aux visiteurs si l'affichage des erreurs est actif, et signalent que le plugin ou le thème n'est pas à jour pour les versions récentes de PHP. Il est prudent de les traiter avant la prochaine étape.

Première chose à faire : désactivez l'affichage des erreurs sur le site public. Dans wp-config.php, WP_DEBUG_DISPLAY à false, et gardez WP_DEBUG_LOG si vous voulez les consigner. Un visiteur ne devrait jamais voir ce type de message.

Ensuite, regardez quel plugin ou thème est nommé dans le chemin du fichier. Cherchez une mise à jour : la plupart des bons auteurs ont publié une version compatible. Si le plugin n'est plus maintenu, il faut le remplacer ou faire corriger le code, souvent en déclarant la propriété dans la classe.

Pour du code sur mesure, la correction est simple pour un programmeur : déclarer les propriétés manquantes, ou ajouter l'attribut prévu par PHP quand on veut conserver le comportement dynamique. Elle doit être testée sur une copie.

Notre équipe peut faire l'inventaire de ces avertissements sur votre site, corriger ce qui doit l'être et vérifier que le tout fonctionne en PHP 8.3, à distance partout au Québec.

Dépannage PHP rapide · partout au Québec

Votre site est concerné par cette vulnérabilité ?

Nos techniciens en informatique et programmeurs PHP vérifient votre site, colmatent les failles et migrent vers PHP 8.3 en limitant au maximum l'interruption de service.

Besoin d'aide pour ce problème ?

Poursuivre votre lecture technique

Développement & Refactoring7 min de lecture

Top 10 des fonctions dépréciées qui font planter votre code sous PHP 8.3

De create_function() à each() en passant par les signatures de méthodes et la null-safety : inventaire des incompatibilités fatales et exemples de refactoring propre.

Lire l'article complet→
E-Commerce & WordPress8 min de lecture

Guide complet : Migrer un site WooCommerce vers PHP 8.3 sans perdre de commandes

La méthodologie pas-à-pas pour sécuriser une boutique e-commerce, tester les passerelles de paiement Stripe/PayPal et migrer vers PHP 8.3 avec un minimum de coupure.

Lire l'article complet→
Appeler