Médiaforma

All posts tagged vue

La vue est responsable de l’affichage des données sur l’écran. Définissez le fichier vue\resultats.php et insérez les instructions suivantes dans ce fichier :

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Accès à la table orders de la bdd Northwind avec PDO</title>
    <style>
      th { padding-right: 30px;}
    </style>
  </head>
  <body>
      <?php
      echo "<table border><tr><th>OrderID</th><th>Customer</th><th>Employee</th><th>OrderDate</th><th>RequiredDate</th><th>ShippedDate</th><th>ShipVia</th>
      <th>Freight</th><th>ShipName</th><th>ShipAddress</th><th>ShipCity</th><th>ShipPostalCode</th><th>ShipCountry</th></tr>";
        foreach($donnees as $ligne){
          echo "<tr>";
          for ($i=0; $i<13; $i++)
            echo "<td>".$ligne[$i]."</td>";
          echo "</tr>";
        }
        echo "</table>";
      ?>
  </body>
</html>

Ce code n’a rien de bien compliqué : il affiche le contenu du tableau $donnees dans un tableau HTML.

Il ne vous reste plus qu’à invoquer le contrôleur avec des URL du type suivant :

http://localhost/MVC/controleur/index.php?tri=valeur

Où valeur représente un nombre compris entre 0 et 11, pour indiquer le champ selon lequel les données seront triées. Voici le résultat pour un tri sur le champ Customer :

Frameworks MVC

Pour développer des projets selon une architecture MVC, vous pouvez créer tous les fichiers manuellement, comme nous venons de le faire, ou vous simplifier la tâche en utilisant un framework dédié, comme par exemple Zend Framework, CakePHP, Symfony ou Jelix.


A titre d’exemple, vous allez développer un projet qui interroge de façon paramétrable la table orders de la base de données northwind. Le but recherché est d’afficher le contenu de la table orders, classée selon un de ses champs, en fonction du paramètre passé dans l’URL :

  • index.php?tri=0 classe les données par ordre alphabétique sur le premier champ ;
  • index.php?tri=1 classe les données par ordre alphabétique sur le deuxième champ ;
  • etc.

Création de l’arborescence

Commencez par créer un dossier intitulé MVC dans le dossier c:\wamp\www. Définissez les sous-dossiers modele, vue et controleur dans le dossier MVC :


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.