Nouveau standard PHP : ce qui attend les développeurs en 2024
La communauté PHP continue de ravir les développeurs : à la fin de l’année 2023, la version finale de PHP 8.3 est sortie, et dès 2024, la sortie de PHP 8.4 est attendue. Ces versions établissent un nouveau standard de qualité pour l’un des langages de programmation web les plus populaires. Analysons les changements clés qui attendent les développeurs et comment se préparer à la transition.
Principales nouveautés de PHP 8.3
La version 8.3 a obtenu le statut de version stable et inclut un certain nombre d’améliorations qui rendent le code plus propre, plus sûr et plus rapide :
- Constantes de classe typées — il est désormais possible d’indiquer explicitement le type d’une constante :
final public const string MY_CONST = 'value';. Cela améliore la lisibilité et aide les analyseurs statiques. - Attribut #[Override] — indique explicitement qu’une méthode redéfinit une méthode parente. Si la méthode parente change ou disparaît, PHP générera une erreur. Une excellente protection contre les régressions.
- Clonage profond des propriétés readonly — il est désormais possible de modifier les propriétés readonly lors du clonage d’un objet, ce qui simplifie le travail avec les DTO immuables.
- Fonction améliorée json_validate() — un moyen rapide de vérifier si une chaîne est un JSON valide sans la parser entièrement. Économise de la mémoire et du temps.
- Nouvelles méthodes pour les tableaux —
array_any()etarray_all()permettent de vérifier de manière concise si au moins un (ou tous les) élément(s) satisfait (satisfont) une condition.
Que prépare PHP 8.4 ?
Bien que la sortie de PHP 8.4 soit attendue pour la fin de l’année 2024, plusieurs RFC (propositions de modification du langage) significatives sont déjà en discussion :
- Property Hooks (hooks de propriétés) — une fonctionnalité très attendue permettant d’ajouter des getters et des setters directement aux propriétés d’une classe, sans écrire de méthodes séparées. Cela rendra le code plus déclaratif et réduira le code standard.
- Visibilité asymétrique — la possibilité de définir différents niveaux d’accès pour la lecture et l’écriture d’une propriété. Par exemple, une lecture publique mais une écriture protégée.
- Performances JIT améliorées — le travail sur le compilateur Just-In-Time se poursuit. Une augmentation de la vitesse d’exécution des calculs lourds de 10 à 20 % est attendue.
- Prise en charge des types d’intersection (Intersection Types) — permettra de déclarer des paramètres qui doivent implémenter plusieurs interfaces à la fois, par exemple :
function foo(Countable&Stringable $obj).
Comment se préparer à la mise à jour ?
Passer à une nouvelle version de PHP n’apporte pas seulement de nouvelles fonctionnalités, mais aussi des breaking changes potentiels. Nous recommandons le plan d’action suivant :
- Vérifiez la compatibilité du code — utilisez des analyseurs statiques (PHPStan, Psalm) avec le niveau de rigueur maximal. Ils mettront en évidence les constructions obsolètes.
- Mettez à jour les dépendances — assurez-vous que toutes les bibliothèques et frameworks utilisés (Laravel, Symfony, WordPress) prennent en charge PHP 8.3+.
- Testez sur un environnement de staging — déployez la nouvelle version sur un environnement de test, exécutez les tests automatisés et vérifiez les scénarios clés.
- Utilisez du PHP moderne — introduisez progressivement les attributs, le typage, les classes readonly et d’autres fonctionnalités. Cela facilitera les futures mises à jour.