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
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 = 'view-erreur.php'; } else { $contenu = 'view-demande1.php'; } } elseif ($action == 'demande2') { // accès aux données $sql2 = 'SELECT col1 col2, FROM table2'; $data = pdo_query($sql2); if ($data === false) { $contenu = 'view-erreur.php'; } else { $contenu = 'view-demande2.php'; } } else { $contenu = 'view-accueil.php'; } $menu = 'view-menu.php'; include 'view-charte.php';
bloc2/prog/web/mvc-exemple.1681206101.txt.gz · Dernière modification : 2023/04/11 11:41 de admin
