
Informations générales
Un livre de 250 pages sur la construction d'une architecture propre en PHP (à peu près la même dont oncle Bob a parlé dans son livre). Bien que PHP puisse facilement être remplacé par Java, C# ou un autre langage orienté objet de générations antérieures. Le livre que j'ai trouvé était en anglais, donc je ne suis pas sûr qu'il existe des traductions dans d'autres langues. Le livre comprend des extraits de code (en couleur), mais presque pas d'images, juste quelques diagrammes et organigrammes.
Contenu du livre
Le livre est composé de 4 sections :
- Problèmes de code
- Outils pour résoudre les problèmes
- Architecture propre (en couches/oignon)
- Exemples d'architecture propre
La section "Problèmes de code" explique pourquoi le code devient souvent difficile à lire, à tester et à maintenir. Une mauvaise architecture est souvent l'une des principales raisons.
La deuxième section (sur les outils de résolution) se compose de plusieurs chapitres. Le premier traite des modèles de conception (y compris des exemples de certains modèles). Ensuite, une analyse détaillée des principes SOLID. Le chapitre suivant aborde en profondeur l'injection de dépendances. L'auteur ne néglige pas non plus les interfaces, qui font l'objet du chapitre suivant.
L'exploration de l'architecture propre commence par une analyse du modèle MVC et une description de chacun de ses composants. Le routage est également abordé, et à la fin du premier chapitre, l'auteur souligne les faiblesses de cette approche architecturale. Ensuite, les chapitres sur l'architecture en couches (oignon) commencent, avec une analyse détaillée de chaque composant. Chaque analyse est accompagnée d'un exemple de code en PHP pour une couche spécifique (code plus abstrait sans entrer dans les détails). Une attention particulière est également accordée aux aspects théoriques et aux questions, comme pourquoi il ne devrait pas y avoir de couplage fort avec une base de données ou un framework, et quel est le rôle des tests dans une telle architecture.
La dernière section est une sorte de résumé du livre entier, consolidant tout le matériel précédent et construisant un petit exemple réel avec sa propre structure de dossiers et son modèle métier, tout en utilisant des frameworks et des packages réels.
Opinion
Le concept d'architecture en couches, qu'oncle Bob (Robert Martin) approuverait sans doute, est mis en œuvre directement en PHP. L'injection de dépendances, l'utilisation d'interfaces, la description et la mise en œuvre de certains modèles populaires, les principes SOLID et d'autres approches pour construire une architecture en PHP. Et surtout, tout est soutenu par des exemples pratiques. Par conséquent, je recommande ce livre aussi bien pour une introduction que pour une étude approfondie.