0% ont trouvé ce document utile (0 vote)
174 vues12 pages

Introduction à l'architecture MVC

Ce document décrit le modèle MVC, qui sépare le code en trois parties: le modèle pour les données, la vue pour l'affichage et le contrôleur pour la logique. Il explique le fonctionnement de MVC et donne des exemples de son utilisation.

Transféré par

Fatima-Ezzahra AI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
174 vues12 pages

Introduction à l'architecture MVC

Ce document décrit le modèle MVC, qui sépare le code en trois parties: le modèle pour les données, la vue pour l'affichage et le contrôleur pour la logique. Il explique le fonctionnement de MVC et donne des exemples de son utilisation.

Transféré par

Fatima-Ezzahra AI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

L’architecture MVC

Achref El Mouelhi

02 Novembre 2017, POEC PHP 2017 1 / 12


MVC : c’est quoi ?

C’est un design pattern


En français : Modèle-Vue-Contrôleur
En anglais : Model-View-Controller

Historique
introduit par Trygve Reenskaug en 1978
utilisé pour la première fois par Smalltalk en 1980

02 Novembre 2017, POEC PHP 2017 2 / 12


MVC

Principe
permet de bien organiser son code source
permet de savoir quel rôle joue précisément chaque fichier dans
l’application
consiste à séparer la logique du code en trois parties, modèle
(modèle de données), vue (présentation, interface utilisateur) et
contrôleur (logique de contrôle, gestion des événements,
synchronisation...)

02 Novembre 2017, POEC PHP 2017 3 / 12


MVC

C’est-à-dire
Modèle : la partie qui concerne les données (base de données,
fichiers...) de notre application (site...). Il dispose de toutes les
méthodes d’accès aux données (insert, delete, update, select)
Vue : la partie qui concerne l’affichage : l’interface avec laquelle
l’utilisateur interagit (page HTML...). C’est la vue qui s’occupe de
la visualisation des données retournées par le modèle
Contrôleur : c’est l’intermédiaire entre le modèle et la vue. Il
demande les données au modèle, les analyse, et prend ensuite
des décisions et renvoie le texte à afficher à la vue.

02 Novembre 2017, POEC PHP 2017 4 / 12


MVC : schématisation

02 Novembre 2017, POEC PHP 2017 5 / 12


MVC : explication

Déroulement
1 Le client envoie une requête depuis la vue (son navigateur)
2 Le contrôleur intercepte et analyse la requête du client
3 Le contrôleur détermine quelle partie du modèle est concernée
afin d’effectuer les traitements nécessaires
4 Le modèle s’occupe de l’interaction avec les données, applique
les règles métier et renvoie les données (dénués de toute
présentation) au contrôleur
5 Le contrôleur sélectionne la vue correspondante et lui injecte les
données
6 La vue présente les données au client

02 Novembre 2017, POEC PHP 2017 6 / 12


Exemple sans MVC
<html>
<head>
<meta charset="utf-8" />
<title>Ma page</title>
<link href="[Link]" rel="stylesheet" />
</head>
<body>
<p>Les habitations et les prix a Marseille :</p>
<?php
try
{
$pdo = new PDO(’mysql:host=localhost;dbname=
location’,’root’,’’);
}
catch(Exception $e)
{
die(’Erreur : ’.$e->getMessage());
}

02 Novembre 2017, POEC PHP 2017 7 / 12


Exemple sans MVC

$req = $pdo->query(
’SELECT Adresse, LoyerM
FROM Habitation
WHERE Ville = "Marseille"’);
while ($donnees = $req->fetch())
{
?>
<div class="habitation_prix">
<h3>
<?php echo $donnees[’Adresse’]; ?>
<em>a <?php echo $donnees[’LoyerM’]; ?></em>
</h3>
<br />
</div>
<?php } $req->closeCursor(); ?>
</body>
</html>

02 Novembre 2017, POEC PHP 2017 8 / 12


Exemple avec MVC : le modèle
function getHabitation($ville)
{
try
{
$pdo = new PDO(’mysql:host=localhost;
dbname=location’, ’root’, ’’);
}
catch(Exception $e)
{
die(’Erreur : ’.$e->getMessage());
}
$req = $bdd->prepare(
’SELECT Adresse, LoyerM
FROM Habitation
WHERE Ville = :ville’);
$req->bindParam(’:ville’, $ville, PDO::
PARAM_INT);
$req->execute();
$result = $req->fetchAll();
return $result;
}
02 Novembre 2017, POEC PHP 2017 9 / 12
Exemple avec MVC : le contrôleur

<?php
include_once’[Link]’;
$res = getHabitation(’Marseille’);
foreach($res as $cle => $value)
{
echo nl2br(ucwords($res[’Adresse’]) . ’ ’ .
$res[’LoyerM’]);
}
?>

02 Novembre 2017, POEC PHP 2017 10 / 12


Et le MVC 2 ?

Exemple
Le MVC est un peu difficile à mettre en place à cause de la
multitude de contrôleurs
Donc une nouvelle version a été introduite : MVC 2
Il s’agit du même modèle avec un seul contrôleur pour orienter les
requêtes

02 Novembre 2017, POEC PHP 2017 11 / 12


Frameworks basés sur l’architecture MVC (2)

Exemple
1 CakePHP
2 FuelPHP
3 Jelix
4 Laravel
5 Symfony
6 Zend
7 ...

02 Novembre 2017, POEC PHP 2017 12 / 12

Vous aimerez peut-être aussi