Qu’est-ce que MVC ? – un exemple concret avec Laravel

MVC est un patron de conception permettant de séparer une application Web en différentes couches : le Modèle, la Vue et le Contrôleur.

De nombreux cadres d'application utilisent le patron MVC. Laravel est l'un de ceux-là. Les exemples suivants, utilisés pour illustrer les couches du modèle MVC, sont tirés d'une application Laravel.

▼Publicité

Le modèle (accès aux données)

Le modèle est la couche représentant les données. On l'appellera parfois logique métier.

Le modèle consiste en une série de classes. Si les données sont tirées de la BD, chacune des classes représentera une table.

Parmi les fonctionnalités codées dans le modèle, on retrouve les relations entre les tables, les accesseurs et modificateurs, les champs calculés, etc.

MVC - Modèle

La vue (interface utilisateur)

La vue est constituée de balises HTML qui représentent ce qui sera affiché à l'écran.

En plus des balises HTML, la vue peut utiliser des directives et instructions prévues par le moteur d'affichage afin d'effectuer différentes opérations, comme par exemple tester une condition ou encore boucler dans les données fournies par le modèle.

La vue pourra faire appel à des ressources externes, comme des feuilles de style, des fichiers JavaScript, des images, etc.

Sous Laravel, le moteur d'affichage s'appelle Blade.

MVC - vue

Le contrôleur (traitement)

Le contrôleur est en charge d'effectuer les traitements. Il s'agit de l'élément central du patron de conception MVC.

C'est le contrôleur qui retrouvera les données à l'aide du modèle et qui les passera à la vue pour les afficher.

Inversement, le contrôleur recevra les données saisies dans la vue et les enregistrera dans la base de données à l'aide du modèle.

En plus des échanges entre le modèle et la vue, le contrôleur pourra effectuer toutes sortes de tâches, comme l'envoi de courriels, l'ajout d'entrées dans le fichier de log, l'exécution d'un algorithme quelconque, etc.

MVC - Contrôleur

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories