Lors du codage d’une applications en PHP, par souci de gagner du temps ou de respecter nos délais, nous pouvons souvent écrire des fonctions qui résolvent simplement le problème spécifique que nous avons sous la main, sans considérer si la solution peut être généralisée pour résoudre également d’autres problèmes : nous concentrez-vous sur l’arbre et non sur la forêt.
Résoudre les problèmes courants grâce aux modèles de conception
Les modèles de conception sont un outil inestimable pour résoudre les problèmes de manière standardisée : il s’agit de descriptions de solutions générales et réutilisables à plusieurs problèmes courants qui surviennent lors de la conception d’applications. Des implémentations de modèles de conception existent pour chaque langage, et plusieurs modèles de conception implémentés en applications en PHP peuvent être trouvés dans ce guide.
Découplage des couches de l’application via le paradigme Modèle-Vue-Contrôleur
Model-View-Controller (MVC) est un paradigme architectural qui découple les parties interactives d’une application en trois couches définies :
- Le modèle gère les données, la logique et les règles de l’application.
- La vue restitue les informations.
- Le contrôleur est le lien entre le modèle et la vue : il accepte les entrées, demande des données au modèle et transmet les données à la vue pour le rendu.
MVC est un excellent paradigme pour la construction d’applications à grande échelle, car sa séparation des couches frontend et backend permet d’affecter le membre de l’équipe le plus approprié pour gérer chaque partie de l’application : les composants Model et Controller peuvent être gérés par les développeurs backend et architectes de bases de données, tandis que le composant View peut être géré par des développeurs et des concepteurs frontaux. Nous pouvons trouver plusieurs exemples d’implémentations MVC pour PHP en ligne, parmi lesquels je recommande celui-ci.
Définition des contrats via les interfaces
Les interfaces permettent de dissocier l’implémentation d’une fonctionnalité de la déclaration de l’intention de ce que la fonctionnalité doit faire. Essentiellement, lors de l’utilisation d’une fonctionnalité, nous n’avons peut-être pas besoin de savoir comment cela est accompli. En tant que telles, les interfaces aident à définir des contrats entre les composants, qui sont la base pour établir la modularité de l’application, permettant à l’application d’être simplement composée de composants interagissant les uns avec les autres, sans qu’ils se soucient de la façon dont les autres composants effectuent leurs tâches, et facilement remplaçables. si/quand vous en avez besoin.