Médiaforma

All posts tagged controller

C’est autour du contrôleur que s’articule tout le code. Voici les actions accomplies :

  • récupération du paramètre dans l’URL ;
  • demande de données au modèle, en fonction du paramètre récupéré dans l’URL ;
  • mise en gras de la colonne triée ;
  • demande à la vue d’afficher les résultats.

Créez le fichier index.php dans le dossier MVC\controleur et insérez les instructions suivantes dans ce fichier :

<?php
  $tri = $_GET['tri'];
  include_once("../modele/trier.php");

  // Modèle
  // Demande de données au modèle
  $donnees = trier($tri);

  // Contrôleur
  // Mise en gras de la colonne triée
  foreach($donnees as &$ligne){
    $ligne[$tri] = "<b><i>".$ligne[$tri]."</i></b>";
  }

  // Vue
  // Affichage des résultats
  include_once('../vue/resultat.php');

?>

Après avoir récupéré le paramètre tri dans l’URL et l’avoir mémorisé dans la variable $tri :

$tri = $_GET['tri'];

Le fichier modèle/tri.php est inclus dans le code :

include_once("../modele/trier.php");

Les données sont alors extraites de la base de données avec la fonction tri() du modèle :

$donnees = trier($tri);

Pour bien discerner le champ qui a été trié, on le met en gras avec une boucle foreach. Remarquez l’accès par référence aux données (&$ligne). Ainsi, il sera possible de modifier les données du tableau donnees de façon durable et pas seulement à l’intérieur de la boucle foreach :

foreach($donnees as &$ligne){
  $ligne[$tri] = "<b><i>".$ligne[$tri]."</i></b>";
}

Enfin, les données triées sont affichées en incluant le fichier vue/resultat.php dans le code :

include_once('../vue/resultat.php');

Dans des projets de grande envergure, il est important de bien structurer le code PHP pour faciliter sa maintenabilité. L’architecture MVC apporte une réponse élégante à cette problématique.

Qu’est-ce que MVC et pourquoi l’utiliser ?

MVC est un design pattern (un modèle de conception) qui permet d’organiser son code selon trois parties bien précises : Modèle, Vue et Contrôleur. En suivant les directives du modèle MVC, vous saurez quels fichiers créer et quels rôles leur donner :

  • Modèle : Cette partie gère les données du site. Elle récupère les données dans la base de données (via des requêtes SQL) et les met en forme pour qu’elles puissent être traitées par la partie Contrôleur.
  • Vue : Cette partie est dédiée à l’affichage sur l’écran. Elle est généralement composée d’un mélange de code HTML et PHP.
  • Contrôleur : Cette partie contient la portion “intelligente” du code. Elle reçoit les données du visiteur, demande au Modèle de trouver les données correspondantes dans la base de données, analyse les données fournies par le Modèle et décide ce qui doit être affiché par la partie Vue.