Bonjour à tous !
Je suis actuellement en train d'apprendre l'architecture MVC, j'ai donc modifié un projet perso à l'aide de celle-ci, mais je ne suis pas certain d'avoir découpé correctement celui-ci.
Le projet est un site de locations d'appartements, l'admin du site peut ainsi gérer des réservations qui apparaissent ensuite au niveau de l'espace public dans un calendrier. Il peut aussi modifier le contenu des pages de son site avec ckeditor.
Je me retrouve donc avec plusieurs vues dont certaines que j'ai réunies dans un seul dossier.
Par exemple dans mes vues j'ai un seul dossier réservations qui comprend les vues :
- Ajout_reservation.php (formulaire html)
- Modif_reservation.php (formulaire html)
- Choix_reservation.php (formulaire qui permet de choisir dans une liste déroulante la location dont on souhaite voir les réservations)
- Liste_reservation.php (affiche la liste des réservations pour la location choisie)
Ces vues sont appelées par un controlleur reservation.php.
On retrouve dans ce controlleur par exemple la methode modifier qui gère l'appel des pages liées à la modification d'une reservation.
Le code n'est pas parfait, j'ai en effet une methode render qui ne me permet pas d'afficher un echo de mes notifications en cas de besoin, je dois donc réécrire les appels de mes pages lorsqu'il y a des notifications à afficher. (par ex : Aucune réservation pour cette location)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 function modifier() { $anneeN= date('Y'); if (isset($_POST["loc"])){$numloc1=$_POST["loc"]; $anneepost=$_POST["anneepost1"]; }else{$numloc1=0; $anneepost=$anneeN;} if (isset($_GET["num"]) ) // si un numero de réservation est envoyé { $numreserv=$_GET['num']; $reserv = new reservation; //si l'admin souhaite supprimer une reservation, alors... if( (isset($_GET["type"])) && ($_GET["type"]=="suppr")) { ob_start(); require(ROOT."views/reservations/choix-reserv.php"); // on vérifie si la réservation existe et on la supprime if($reserv->recherche($numreserv)!==0) { $reserv->suppr($numreserv); echo "</br></br></br><span class='notification'>Suppression effectuée</span>"; } else { echo "</br></br></br><span class='notification'>La réservation n'existe pas !</span>"; } $content_for_page= ob_get_clean(); require(ROOT.'views/layout/'.$this->layout.'.php'); } else { //on affiche le formulaire de modification de la réservation choisie $reserv->recherche($numreserv); $this->set($reserv->tabval()); $this->render("modif_reservation"); } } else // si aucun numero de réservation n'est envoyé { ob_start(); require(ROOT."views/reservations/choix-reserv.php"); if (isset($_POST["loc"])) { $tab=listereserv(); $typespan=$tab[1]; $req=$tab[0]; if (mysql_num_rows($req)>0) { require(ROOT."views/reservations/liste-reserv.php"); } else { echo "</br> </br> <span class='notification'>Aucune réservation pour cette location !</span>"; } echo "</table>"; } $content_for_page= ob_get_clean(); require(ROOT.'views/layout/'.$this->layout.'.php'); } }
Peut être devrais-je ajouter dans ma methode render un paramètre $notification qui s'il est renseigné serait affiché dans un echo à partir de celle-ci ?
Merci de me dire si j'ai bien compris la methode MVC où si je dois d'avantage découper mon site. Je suis également ouvert à toute idée d'amélioration de mon code
Partager