Aller au contenu

Modèle MVC dans XOOPS

XMF Requis 4.0.x Natif

Le modèle Model-View-Controller (MVC) est un modèle architectural fondamental pour séparer les préoccupations dans les modules XOOPS. Ce modèle divise une application en trois composants interconnectés.

Le Modèle représente les données et la logique métier de votre application. Il :

  • Gère la persistance des données
  • Implémente les règles métier
  • Valide les données
  • Communique avec la base de données
  • Est indépendant de l’interface utilisateur

La Vue est responsable de la présentation des données à l’utilisateur. Elle :

  • Rend les modèles HTML
  • Affiche les données du modèle
  • Gère la présentation de l’interface utilisateur
  • Envoie les actions utilisateur au contrôleur
  • Doit contenir une logique minimale

Le Contrôleur gère les interactions utilisateur et coordonne entre le Modèle et la Vue. Il :

  • Reçoit les demandes des utilisateurs
  • Traite les données d’entrée
  • Appelle les méthodes du modèle
  • Sélectionne les vues appropriées
  • Gère le flux de l’application

Dans XOOPS, le modèle MVC est implémenté en utilisant des gestionnaires et des modèles avec le moteur Smarty fournissant le support des modèles.

<?php
class UserModel
{
private $db;
public function getUserById($id)
{
// Implémentation de la requête à la base de données
}
public function createUser($data)
{
// Implémentation de la création d'utilisateur
}
}
?>
<?php
class UserController
{
private $model;
public function listAction()
{
$users = $this->model->getAllUsers();
return ['users' => $users];
}
}
?>
{foreach from=$users item=user}
<div>{$user.username|escape}</div>
{/foreach}
  • Conservez la logique métier dans les modèles
  • Conservez la présentation dans les vues
  • Conservez le routage/la coordination dans les contrôleurs
  • Ne mélangez pas les préoccupations entre les couches
  • Validez toutes les entrées au niveau du contrôleur

Voir aussi :


Tags: #mvc #patterns #architecture #module-development #design-patterns