|
Page 2 sur 29
Le Modèle MVCJoomla! 1.5 utilise le Modèle MVC (Model-View-Controller) pour concevoir et construire des extensions. Dans cette page, nous allons présenter ce Modèle MVC et plus tard lors de la conception de notre composant, nous allons montrer comment le mettre en oeuvre pour une parfaite compréhension. Le Modèle MVC est une méthode de conception qui évite la duplication de code et facilite la maintenance. Il organise le code de telle sorte que :
soient séparées. Le Modèle MVC organise donc l'interface du composant en:
Autrement dit, le MVC divise la conception en trois domaines fonctionnels. Cela permet de modifier si nécessaire un domaine fonctionnel du composant sans avoir à modifier les domaines restants. Implémentration du MVC dans JoomlaDans Joomla! chaque élément du Modèle MVC est représenté par une classe abstraite du framework joomla: JModel, JView, et JController de la bibliothèque 'joomla.application.component'. Ces classes mères seront étendues par héritage lors de la conception de notre composant. ModèleLe Modèle (Model) se charge de l'accès aux données. Il s'agit, dans la plupart des cas, d'accéder à une base de données Mysql. Cependant, l'utilisation de n'importe quelle source de données reste possible (exemple: les fichiers XML) Un Modèle comporte des méthodes d'accès pour récupérer, ajouter, supprimer et mettre à jour les données stockées dans une source de données spécifique. Un composant joomla peut avoir plusieurs Modèles, supportant chacun une source de données différente. Toutes les techniques d'accès aux données sont encapsulées dans le Modèle. De cette manière, si votre application change de système de données en migrant d'une base Mysql vers un système de fichiers plats, seul le Modèle sera révisé. Le Contrôleur et la Vue ne subiront aucune modification. VueLa Vue (View) définit la façon dont vont être présentées les données à l'utilisateur pour que ce dernier puisse intéragir avec l'application. Pour une application web, la Vue récupère les données du Modèle (le Modèle approprié est passé à la Vue par le Contrôleur) et les intègre dans un template (de mise en page) qui sera publié et présenté à l'utilisateur. En addition au format HTML, une Vue peut présenter les données dans d'autres formats tels que PDF ou flux RSS. A une même Vue peut correspondre plusieurs templates d'affichage. La Vue ne modifie en aucune circonstance les données mais affiche uniquement les données passées par le Modèle. Toutes les demandes de modification sont transmises par le Contrôleur au Modèle qui exécute cette modification. Les données affichées dans une Vue proviennent d'un ou plusieurs Modèles. Ces Modèles sont automatiquement associés à la Vue par le Contrôleur. ContrôleurLe Contrôleur est le chef d'orchestre et l'élément chargé de répondre aux actions de l'utilisateur. Le Contrôleur détermine la tâche demandée, crée une Vue, associe un ou plusieurs Modèles à la Vue et passe toute demande de modification de données au Modèle approprié. Ce dernier se charge de la manipulation des données. La Vue affiche, ensuite, le résultat mis en forme. Le Contrôleur ne manipule pas les données mais plutôt, appelle les méthodes nécessaires du Modèle approprié. Un composant peut comporter plusieurs Contrôleurs, un par entité à gérer. A chaque entité correspond une table dans la base de données. Interaction entre domaines fonctionnels du MVC
|