L'article explore comment les principes de conception d'objets de Matthias Noback, introduits en 2019, sont désormais intégrés directement dans la syntaxe de PHP 8.5. Autrefois fastidieux à implémenter, ces principes sont maintenant simplifiés et plus intuitifs. L'article met en lumière l'encapsulation, un des premiers principes, et montre comment la visibilité asymétrique (introduite en PHP 8.4) permet de protéger l'état interne des objets tout en réduisant la verbosité du code. Trois approches pratiques sont présentées pour gérer la visibilité des propriétés, illustrant comment PHP moderne facilite l'application de ces bonnes pratiques de conception.
PHP 8.5, sorti le 20 novembre 2025, introduit une fonctionnalité permettant de simplifier la gestion des objets immuables en autorisant la mise à jour de propriétés lors du clonage. Cette amélioration facilite la création de nouvelles instances avec des valeurs modifiées, réduisant ainsi la complexité du code pour les objets immuables. Par exemple, la classe GPSLocation peut maintenant être clonée avec des propriétés spécifiques mises à jour, comme la latitude, la longitude ou l'altitude, sans avoir à recréer manuellement une nouvelle instance. #php #immuable #clone
PHP 8.5 introduit plusieurs nouveautés pour moderniser le langage, dont l'opérateur pipe (|>) pour chaîner les fonctions de manière lisible, les fonctions array_first() et array_last() pour manipuler les tableaux sans effets de bord, et la possibilité d'utiliser des closures dans les expressions constantes. Ces ajouts visent à rendre le code plus expressif et à éliminer les irritants du quotidien.