From e50aa969189a7b39a446bbb0baaf2b7f103b7006 Mon Sep 17 00:00:00 2001 From: Sofiane Lasri <alasri250@gmail.com> Date: Mon, 17 Oct 2022 08:57:42 +0200 Subject: [PATCH] View helper. --- TP4/ex1/controller/ControleurAdherants.php | 6 +++ TP4/ex1/controller/ControleurAuteur.php | 55 ++++++++++++---------- TP4/ex1/helpers/views.php | 18 +++++++ TP4/ex1/index.php | 8 +++- 4 files changed, 59 insertions(+), 28 deletions(-) create mode 100644 TP4/ex1/controller/ControleurAdherants.php create mode 100644 TP4/ex1/helpers/views.php diff --git a/TP4/ex1/controller/ControleurAdherants.php b/TP4/ex1/controller/ControleurAdherants.php new file mode 100644 index 0000000..c83bf3e --- /dev/null +++ b/TP4/ex1/controller/ControleurAdherants.php @@ -0,0 +1,6 @@ +<?php + +class ControleurAdherants +{ + +} \ No newline at end of file diff --git a/TP4/ex1/controller/ControleurAuteur.php b/TP4/ex1/controller/ControleurAuteur.php index a90cb64..e787d51 100644 --- a/TP4/ex1/controller/ControleurAuteur.php +++ b/TP4/ex1/controller/ControleurAuteur.php @@ -1,35 +1,38 @@ <?php - require_once("models/Auteur.php"); +require_once("models/Auteur.php"); - class ControleurAuteur { +class ControleurAuteur +{ - public static function lireAuteurs() { - $titre = "les auteurs"; - $tableau = Auteur::getAllAuteurs(); - $tableauAffichage = array(); - foreach($tableau as $auteur) { - $numAuteur = $auteur->getNumAuteur(); - $nom = $auteur->getNom(); - $prenom = $auteur->getPrenom(); - $lienDetails = "<a class='bouton' href=\"index.php?controller=controleurAuteur&action=lireAuteur&numAuteur=$numAuteur\"> détails </a>"; - $tableauAffichage[] = "<div class='ligne'><div>Auteur $prenom $nom</div><div> $lienDetails</div></div>"; - } - include("resources/views/debut.php"); - include("resources/views/menu.html"); - include("resources/views/lesAuteurs.php"); - include("resources/views/fin.html"); + public static function lireAuteurs() + { + $titre = "les auteurs"; + $tableau = Auteur::getAllAuteurs(); + $tableauAffichage = array(); + foreach ($tableau as $auteur) { + $numAuteur = $auteur->getNumAuteur(); + $nom = $auteur->getNom(); + $prenom = $auteur->getPrenom(); + $lienDetails = "<a class='bouton' href=\"index.php?controller=controleurAuteur&action=lireAuteur&numAuteur=$numAuteur\"> détails </a>"; + $tableauAffichage[] = "<div class='ligne'><div>Auteur $prenom $nom</div><div> $lienDetails</div></div>"; + } + include("resources/views/debut.php"); + include("resources/views/menu.html"); + include("resources/views/lesAuteurs.php"); + include("resources/views/fin.html"); } - public static function lireAuteur() { - $titre = "un auteur"; - $numAuteur = $_GET["numAuteur"]; - $auteur = Auteur::getAuteurByNum($numAuteur); - include("resources/views/debut.php"); - include("resources/views/menu.html"); - include("resources/views/unAuteur.php"); - include("resources/views/fin.html"); + public static function lireAuteur() + { + $titre = "un auteur"; + $numAuteur = $_GET["numAuteur"]; + $auteur = Auteur::getAuteurByNum($numAuteur); + include("resources/views/debut.php"); + include("resources/views/menu.html"); + include("resources/views/unAuteur.php"); + include("resources/views/fin.html"); } - } +} ?> diff --git a/TP4/ex1/helpers/views.php b/TP4/ex1/helpers/views.php new file mode 100644 index 0000000..f5ecd7c --- /dev/null +++ b/TP4/ex1/helpers/views.php @@ -0,0 +1,18 @@ +<?php +function view(string $viewName, array $args): bool +{ + $viewPathParts = explode(".", $viewName); + $viewPath = ""; + foreach ($viewPathParts as $pathPart){ + $viewPath .= "/" . $pathPart; + } + $viewPath = "resources/views" . $viewPath . ".php"; + if(file_exists($viewPath)){ + extract($args); + include $viewPath; + return true; + }else{ + echo "La vue " . $viewName . " est introuvable."; + return false; + } +} \ No newline at end of file diff --git a/TP4/ex1/index.php b/TP4/ex1/index.php index 78b8ba9..9887eb0 100644 --- a/TP4/ex1/index.php +++ b/TP4/ex1/index.php @@ -2,12 +2,16 @@ ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); + require_once("config/Database.php"); -Database::connect(); +require_once("helpers/views.php"); require_once("controller/ControleurAuteur.php"); + +Database::connect(); + $action = "lireAuteurs"; if (isset($_GET["action"]) && in_array($_GET["action"], get_class_methods('ControleurAuteur'))) { $action = $_GET["action"]; } -controleurAuteur::$action(); +ControleurAuteur::$action(); ?> -- GitLab