PHP 8.4 et Doctrine 3.4 révolutionnent la gestion des propriétés avec les Property Hooks : fini les centaines de lignes de getters/setters ! Désormais, il est possible d’intégrer directement la logique d’accès et de modification dans la déclaration des propriétés, réduisant drastiquement le code boilerplate (jusqu’à -60%). Par exemple, au lieu d’écrire des méthodes getName()
et setName()
, on utilise une syntaxe élégante comme public string $name { get => strtoupper($this->name); set => $this->name = trim($value); }
. Doctrine 3.4 supporte officiellement cette fonctionnalité, simplifiant ainsi les entités et améliorant la lisibilité. La migration, bien que bénéfique (moins de code, meilleure maintenance), demande une adaptation du code existant et des tests rigoureux. Une avancée majeure pour le PHP moderne, même si certains outils ou habitudes mettent du temps à s’adapter.
L'article explique comment migrer des colonnes de type array
vers json
avec Doctrine, suite à la dépréciation des types array
et object
dans la version 3 de Doctrine. Il propose une méthode en plusieurs étapes : créer un type Doctrine hybride pour gérer les deux formats, migrer les données sans interrompre le déploiement, et finalement supprimer le type hybride une fois la migration terminée. Le processus permet de migrer les données de manière efficace et sans temps d'arrêt.