Description générale
Le livre constitue un guide approfondi et systématique pour construire une architecture d'applications PHP maintenable, évolutive et testable, en prenant Laravel comme exemple. L'auteur commence par analyser les erreurs architecturales et de conception typiques qui surviennent le plus souvent dans les projets réels : violations du principe de responsabilité unique, utilisation excessive de la pensée CRUD, abus de la « magie » du framework et la recherche d'un développement pseudo-rapide au détriment de la qualité du code.
Ensuite, le livre plonge progressivement le lecteur dans les fondamentaux d'une architecture orientée objet correcte : injection de dépendances, utilisation judicieuse de l'héritage, des interfaces, des traits et l'abandon des méthodes statiques là où elles nuisent à l'extensibilité et aux tests. Une grande attention est accordée aux exemples pratiques et au refactoring du code existant, ainsi qu'aux outils qui facilitent le travail du développeur.
Une partie significative du livre est consacrée à la couche application, à la gestion des erreurs, à la validation des données et à la construction d'un système d'exceptions robuste. L'auteur délimite clairement les responsabilités entre les couches, montrant comment éviter l'éparpillement de la logique dans les contrôleurs et les modèles. Les événements, les files d'attente, les transactions et leur rôle dans la construction de processus métier fiables sont examinés séparément.
Dans la seconde moitié du livre, l'attention se déplace vers des approches architecturales plus complexes : les tests unitaires, la couche domaine, le CQRS et l'Event Sourcing. Ces chapitres offrent une vision globale de la conception de systèmes complexes où la logique métier devient l'élément central et l'infrastructure devient secondaire. Le livre n'est pas une introduction légère et présuppose une expérience en développement commercial, mais il fournit une image cohérente de la pensée architecturale moderne dans l'écosystème PHP.
Avis
Un livre ambigu qui a suscité les sentiments les plus mitigés. D'un côté, la POO proposée par l'auteur dans ce livre semble élégante, facilement évolutive et bien testable. De l'autre côté, après avoir lu des livres comme celui-ci, on a envie d'arrêter complètement d'écrire en POO et de passer entièrement à la programmation fonctionnelle.