Skip to content
Snippets Groups Projects
Commit b393b0fe authored by Sofiane Lasri's avatar Sofiane Lasri
Browse files

Fin de TP5 ex2 mais pas vraiment suivi.

parent f12db57e
No related branches found
No related tags found
No related merge requests found
...@@ -4,6 +4,7 @@ require_once("models/Adherent.php"); ...@@ -4,6 +4,7 @@ require_once("models/Adherent.php");
class ControleurAdherent extends ControleurObjet class ControleurAdherent extends ControleurObjet
{ {
protected static string $object = "Adherent";
/** /**
* Charge la page de la liste des adhérents. * Charge la page de la liste des adhérents.
* @return string * @return string
......
...@@ -4,6 +4,7 @@ require_once("models/Auteur.php"); ...@@ -4,6 +4,7 @@ require_once("models/Auteur.php");
class ControleurAuteur extends ControleurObjet class ControleurAuteur extends ControleurObjet
{ {
protected static string $object = "Auteur";
/** /**
* Charge la page de la liste des auteurs. * Charge la page de la liste des auteurs.
* @return string * @return string
......
...@@ -4,6 +4,7 @@ require_once("models/Livre.php"); ...@@ -4,6 +4,7 @@ require_once("models/Livre.php");
class ControleurLivre extends ControleurObjet class ControleurLivre extends ControleurObjet
{ {
protected static string $object = "Livre";
/** /**
* Charge la page de la liste des adhérents. * Charge la page de la liste des adhérents.
* @return string * @return string
...@@ -40,7 +41,7 @@ class ControleurLivre extends ControleurObjet ...@@ -40,7 +41,7 @@ class ControleurLivre extends ControleurObjet
$livre = Livre::getLivreByNumLivre($_GET["numLivre"]); $livre = Livre::getLivreByNumLivre($_GET["numLivre"]);
return view('simple-data', [ return view('simple-data', [
'pageTitle' => 'Information du libre', 'pageTitle' => 'Information du livre',
'pageContent' => $livre->afficher() 'pageContent' => $livre->afficher()
]); ]);
} }
......
<?php <?php
/**
* Désolé mais le TP5 est une mauvaise idée de bout en bout.
* Je me suis arrêté à l'ex 2 car je ne vois pas comment on pourrait aisément rassembler tous les contrôleurs ici
* étant donné que le contenu diffère légèrement selon les modèles.
*/
class ControleurObjet class ControleurObjet
{ {
public static function lireObjets() : string
{
$titre = "Listes des " . strtolower(static::$object) . "s";
return $titre;
}
} }
\ No newline at end of file
...@@ -17,16 +17,41 @@ Database::connect(); ...@@ -17,16 +17,41 @@ Database::connect();
if (empty($_GET["action"])) { if (empty($_GET["action"])) {
echo ControleurAuteur::lireAuteurs(); echo ControleurAuteur::lireAuteurs();
} else { } else {
if (in_array($_GET["action"], get_class_methods('ControleurAuteur'))) { // Test TP 5
$action = $_GET["action"]; if ($_GET["action"] === "lireObjets" && !empty($_GET["objet"])) {
echo ControleurAuteur::$action(); switch ($_GET["objet"]){
} elseif (in_array($_GET["action"], get_class_methods('ControleurAdherent'))) { case 'Auteur':
$action = $_GET["action"]; echo ControleurAuteur::lireObjets();
echo ControleurAdherent::$action(); break;
} elseif (in_array($_GET["action"], get_class_methods('ControleurLivre'))) { default:
$action = $_GET["action"]; echo ControleurAuteur::lireObjets();
echo ControleurLivre::$action(); break;
} }
} }
// Fin test TP5
?> // C'est plus long que get_class_methods mais c'est moins sujet à problèmes.
switch ($_GET["action"]){
case "lireAuteur":
echo ControleurAuteur::lireAuteur();
break;
case "lireAuteurs":
echo ControleurAuteur::lireAuteurs();
break;
case "lireAdherent":
echo ControleurAdherent::lireAdherent();
break;
case "lireAdherents":
echo ControleurAdherent::lireAdherents();
break;
case "lireLivre":
echo ControleurLivre::lireLivre();
break;
case "lireLivres":
echo ControleurLivre::lireLivres();
break;
default:
echo ControleurAuteur::lireAuteur();
break;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment