Dans le cours : PHP : L'architecture MVC
Aborder les avantages du modèle MVC - Tutoriel PHP
Dans le cours : PHP : L'architecture MVC
Aborder les avantages du modèle MVC
Dans cette vidéo, nous allons voir l'intérêt d'utiliser une architecture comme le MVC. Pour bien comprendre ça, on va essayer de regarder par exemple ici un fichier avec du code procédural pour la validation d'un formulaire. Au niveau de ce fichier, si on regarde bien le code, vous avez ici la récupération de la connexion. Si on descend un peu plus bas, vous avez le doctype en HTML avec le formulaire ici et les champs du formulaire. Si je remonte un peu, vous avez le PHP qui est ajouté dans le même fichier ici. Et ce PHP va permettre de gérer le traitement lors de la validation du formulaire. Là, on peut remarquer quand même qu'il y a un mélange au niveau du code. Dans le même fichier, vous avez la vue et vous avez le traitement de la validation. Ça, ce n'est pas forcément quelque chose de correct, parce que si vous souhaitez apporter des modifications au niveau du code, vous allez avoir du mal à maintenir un code comme celui-là. Alors pour répondre justement à ces problématiques, vous pouvez utiliser une structure faite avec le modèle MVC. Alors, qu'est-ce que l'architecture MVC ? L'architecture MVC, C'est tout simplement un modèle de conception qui permet de mettre en place une application web. Donc c'est un design pattern qui répond à une problématique d'organisation de son projet web. Le but du MVC est de séparer les fichiers de son application à travers trois fonctions essentielles que nous verrons par la suite. Alors que veut dire MVC ? MVC, c'est un acronyme qui veut dire modèle, vue et contrôleur. Donc voici ici les trois fonctions essentielles du modèle MVC. Donc M pour modèle : le rôle du modèle, ça va être de tout simplement gérer les requêtes, récupérer les données et la logique métier. Vous allez avoir le V pour la vue, et la vue va vous montrer la représentation des données à l'utilisateur, mais aussi l'apparence graphique de vos pages. Et on a le C comme contrôleur. Donc le contrôleur, il va recevoir la requête de l'utilisateur, et il va appeler les ressources appropriées. Voyons plus en détail ce que fait par exemple le modèle. Alors, le modèle : le modèle va permettre tout simplement de jouer un rôle qui va être d'interagir avec la base de données. Donc, chaque fois que vous aurez besoin d'interagir avec la base de données, en MVC, vous allez appeler un modèle. Et le modèle, lui, il va pouvoir communiquer avec la base de données, et tout simplement interagir avec une table ou des tables. Donc il pourra interagir avec une table ou des tables à travers des requêtes de sélection, des requêtes d'insertion, des requêtes de mise à jour, ou des requêtes de suppression. Alors ensuite, on a la vue. Alors, la vue présente les données à l'utilisateur à travers votre navigateur. La vue contiendra du code HTML, et si besoin, les informations provenant du modèle. On peut voir la vue comme l'apparence graphique d'une page que vous allez vouloir charger. Et on a le contrôleur. On peut voir le contrôleur comme un intermédiaire dont le rôle principal sera de gérer les requêtes des utilisateurs. Il retourne le modèle et la vue nécessaire à l'affichage d'une page. Donc le contrôleur peut utiliser le modèle pour interagir avec la base de données. Le contrôleur assure la relation entre la vue et le modèle, et le contrôleur exécute des actions pour répondre à la demande de l'utilisateur. Voici ci-dessous un exemple qui vous montre le fonctionnement du modèle MVC. Donc par exemple, lorsqu'un utilisateur va taper dans le navigateur une URL, par rapport à ce lien, on sera redirigé vers un contrôleur. Et le rôle du contrôleur, ce sera de récupérer les ressources qui vont permettre à la page de s'afficher correctement. Ces ressources peuvent venir du modèle, si par exemple c'est une information qui va nécessiter une récupération en base de données. Et le contrôleur aura aussi pour rôle de récupérer les informations de la vue, et tout simplement de faire un mix des deux. C'est ce qui va donner le résultat, la page que vous allez vouloir afficher. C'est le contrôleur qui sera l'intermédiaire, qui mettra en place la liaison entre les informations provenant du modèle et les informations provenant de la vue. Alors, quels sont les avantages à utiliser le modèle MVC ? C'est très simple. Il y a plusieurs avantages. Le premier avantage déjà, c'est une meilleure maintenabilité de votre code, très important. Le second point, c'est que, avec le modèle MVC, vous aurez une meilleure structuration du code. Donc, de ce fait, vous aurez plus de facilité à modifier correctement le code et à savoir où faire les modifications, quel fichier modifier quand vous aurez besoin de le faire. Le modèle MVC va faciliter le travail collaboratif en entreprise, par exemple si vous travaillez avec des collaborateurs. Et il faut savoir que le modèle MVC est aujourd'hui utilisé par beaucoup de frameworks. Donc c'est un modèle qui est assez populaire. Il faut savoir que vous avez des frameworks populaires comme Symfony, Laravel et Zend framework qui utilisent ce modèle.