Migration PHP 8.2 : erreurs sur les propriétés dynamiques

Python, JavaScript, C, PHP, algorithmes, IDE
la_scriptkid
Messages : 38
Inscription : dim. mai 25, 2025 7:24 pm

Migration PHP 8.2 : erreurs sur les propriétés dynamiques

Message par la_scriptkid »

Alerte ! Après migration en 8.2, j’ai des centaines d’erreurs "Dynamic properties are deprecated". Une astuce pour corriger sans tout refactorer ?
codeur1974
Messages : 185
Inscription : dim. mars 17, 2024 7:24 pm

Re: Migration PHP 8.2 : erreurs sur les propriétés dynamiques

Message par codeur1974 »

La solution propre : déclarer tes props en amont. Sinon, y’a la cheat way : ajouter #[AllowDynamicProperties] en tête de classe.
camille31
Messages : 90
Inscription : mar. juil. 22, 2025 7:25 pm

Re: Migration PHP 8.2 : erreurs sur les propriétés dynamiques

Message par camille31 »

Attention, AllowDynamicProperties sera supprimé en PHP 9 ! Mieux vaut corriger maintenant. Utilise __get()/__set() si vraiment nécessaire.
la_scriptkid
Messages : 38
Inscription : dim. mai 25, 2025 7:24 pm

Re: Migration PHP 8.2 : erreurs sur les propriétés dynamiques

Message par la_scriptkid »

Merci. Je vais tenter un script avec PHPStan pour identifier toutes les classes concernées...
la_manon31
Messages : 358
Inscription : jeu. sept. 28, 2023 7:24 pm

Re: Migration PHP 8.2 : erreurs sur les propriétés dynamiques

Message par la_manon31 »

PHPStan + Rector, combo gagnant ! J’ai automatisé 80% des corrections comme ça sur mon projet.
Le cloud c'est l'ordi de quelqu'un d'autre
codeur1974
Messages : 185
Inscription : dim. mars 17, 2024 7:24 pm

Re: Migration PHP 8.2 : erreurs sur les propriétés dynamiques

Message par codeur1974 »

Tu as un fichier config Rector à partager ? J’ai un legacy monstre à traiter aussi...
la_manon31
Messages : 358
Inscription : jeu. sept. 28, 2023 7:24 pm

Re: Migration PHP 8.2 : erreurs sur les propriétés dynamiques

Message par la_manon31 »

Je te fais ça dès que je suis sur mon PC. C’est basé sur le set LEGACY_TO_MODERN.
Le cloud c'est l'ordi de quelqu'un d'autre
Répondre