bloc2:prog:web:mvc-exemple
Ceci est une ancienne révision du document !
Table des matières
Exemple MVC en PHP
Modèle
Exemple de modèle d'accès aux données
- dataAccess.php
<?php define("HOST", '127.0.0.1'); define("DB", 'maBdD'); define("USER", 'user1'); define("PASS", 'GabuZoMeu'); // Exécute une requête SELECT et retourne le résultat sous la forme d'un tableau function pdo_query($sql) { try { // ouverture d'une connexion vers le serveur de BdD $cnx = new PDO('mysql:dbname=' . DB . ';host=' . HOST . ';charset=UTF8', USER, PASS); // exécution de la requête $stmt = $cnx->query($sql); if ($stmt !== false) { // extraction des résultats dans un tableau $result = $stmt->fetchAll(); } else { $result = false; } } catch (Exception $e) { $result = false; } // fermeture de la connexion unset($cnx); return $result; } // Exécute une requête de mise à jour (insert, update ou delete) et retourne // le nombre de lignes touchées ou false function pdo_exec($sql) { try { // ouverture d'une connexion vers le serveur de BdD $cnx = new PDO('mysql:dbname=' . DB . ';host=' . HOST . ';charset=UTF8', USER, PASS); // exécution de la requête $result = $cnx->exec($sql); } catch (Exception $e) { $result = false; } // fermeture de la connexion unset($cnx); return $result; }
Vue
Exemple de vues décomposées
- vue-charte.php
<!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="style.css"> <title>MVC Exemple</title> </head> <body> <nav> <?php include $menu; ?> </nav> <main> <?php include $contenu; ?> </main> </body> </html>
- vue-menu.php
<h2>Menu</h2> <ul> <li><a href="index.php?action=demande1">Fonctionnalité n°1</a></li> <li><a href="index.php?action=demande2">Fonctionnalité n°2</a></li> </ul>
- vue-accueil.php
<h1>Page d'accueil</h1> Le lorem ipsum est, en imprimerie, une suite de mots sans signification utilisée à titre provisoire pour calibrer une mise en page, le texte définitif venant remplacer le faux-texte dès qu'il est prêt ou que la mise en page est achevée. Généralement, on utilise un texte en faux latin, le Lorem ipsum ou Lipsum.
Contrôleur
Exemple de contrôleur
- index.php
<?php include "dataAccess.php"; $action = filter_input(INPUT_GET, 'action', FILTER_SANITIZE_ENCODED); if ($action == 'demande1') { // accès aux données $sql1 = 'SELECT col1 col2, FROM table1'; $data = pdo_query($sql1); if ($data === false) { $contenu = 'vue-erreur.php'; } else { $contenu = 'vue-demande1.php'; } } elseif ($action == 'demande2') { // accès aux données $sql2 = 'SELECT col1 col2, FROM table2'; $data = pdo_query($sql2); if ($data === false) { $contenu = 'vue-erreur.php'; } else { $contenu = 'vue-demande2.php'; } } else { $contenu = 'vue-accueil.php'; } $menu = 'vue-menu.php'; include 'vue-charte.php';
bloc2/prog/web/mvc-exemple.1681206607.txt.gz · Dernière modification : 2023/04/11 11:50 de admin
