Cet article concerne l’importance des modèles de domaine typés en PHP, renforcés par des outils comme PHPStan et Psalm. L’auteur explique que la sécurité des types permet de préserver l’intégrité architecturale en rendant impossibles les états invalides (ex. : un montant négatif pour une classe Money). Les outils d’analyse statique détectent les violations de contrats, les fuites de nullabilité ou les dépendances architecturales non désirées, là où les tests unitaires peuvent échouer. L’article souligne que modéliser chaque concept métier (comme EmailAddress ou UserId) en tant que type dédié, et utiliser des règles personnalisées dans PHPStan/Psalm, transforme le code en un système fiable et auto-documenté. L’objectif : aligner l’intention des développeurs avec le comportement réel du code, réduisant ainsi la dette technique et les erreurs silencieuses. Une approche progressive est recommandée pour intégrer ces pratiques dans les projets existants.
L'auteur montre qu’il n’est pas nécessaire de migrer vers TypeScript pour bénéficier de sa rigueur : PHP 8.1+, couplé à des outils d’analyse statique (Psalm, PHPStan) et à des bibliothèques idiomatiques, permet d’obtenir des garanties similaires en typage, validation et maintenabilité. L’article détaille des équivalences concrètes : DTOs (classes typées + validation runtime), énumérations (PHP enums + match), génériques (via docblocks et analyse statique), métadonnées (attributs PHP), validation (Symfony Validator), gestion des erreurs (objets Result ou exceptions), et asynchrone (queues ou Fibers). L’approche est incrémentale, avec des exemples prêts à l’emploi, et met en avant les forces de PHP (écosystème mature, performances) tout en comblant l’écart avec TypeScript sur la sécurité et l’ergonomie. À retenir : combiner typage statique, validation aux frontières et design explicite pour un code PHP aussi robuste et maintenable qu’une base TypeScript, sans tout réécrire.
Tout est dans le titre, sauf que ça concerne PHP - à retenir, l'acronyme RIPP (Rector, Infection, PHPStan, Psalm) qui désigne des outils bien utiles pour le refactoring. L'auteur parle aussi de blackfire