Cet article de Matt Mochalkin sur Medium explore l'utilisation des Property Hooks et de l'Asymmetric Visibility introduits avec PHP 8.4 et Symfony 7.4 pour moderniser les applications Symfony. Il montre comment ces nouvelles fonctionnalités permettent de supprimer les getters et setters boilerplate, tout en maintenant une bonne encapsulation et une intégration transparente avec Doctrine ORM, le Serializer, le Validator et les Forms de Symfony. L'auteur illustre ces concepts avec des exemples concrets de refactorisation d'entités Doctrine en entités modernes et concises.
PHP 8.4, sorti en novembre 2024, introduit plusieurs fonctionnalités majeures pour rattraper des retards de conception. Les Property Hooks permettent de définir des getters et setters directement sur les propriétés, simplifiant le code. La visibilité asymétrique offre une meilleure protection des propriétés en lecture/écriture. D'autres améliorations incluent l'instanciation sans parenthèses, des fonctions de tableaux pratiques comme array_find(), array_any(), et array_all(), ainsi qu'un parser HTML5 natif. Ces évolutions, bien que tardives, modernisent significativement le langage.