Est-ce que cette syntaxe du MVC vous semble correcte ?
Bonjour à tous,
Je suis occupé à apprendre MVC.
Un étudiant m'a fait une démo cet après-midi, je voudrais savoir ce que vous pensez de sa façon d'utiliser le MVC et surtout savoir si cela vous semble correct ?
1) Il me dit que "index.php" correspond au controler, est-ce correct ?
2) voici le code de index.php :
Code:
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
| <?php
session_start();
#les variables globales
require('./includes/VariablesGlobales.php');
# Fonctions BD et Fonctions Métier
require('./includes/fonctionsDB.php');
# Fonctions qui génèrent de l'HTML
# Elles seront appelées dans le contrôleur principal (index.php) et/ou ses actions (les autres modules) tous revient vers index
require('./includes/fonctionsHTML.php');
// Connexion à la base de donnée
try {
$dbh = connexionDB();
} catch (PDOException $e) {
erreur(1);
}
# Constructions des éléments HTML communs à toutes les vues
$header = header_page($titre, $css); //$titre et $css se trouvent dans variables_gloabes.php
$menu = menu();
$footer = footer_page($email);
$modules = array('login','accueil','inscription','salles','reserver','erreur');
// Quelle action est demandée par l'utilisateur dans l'URL ?
if (isset($_GET['module']) && in_array($_GET['module'],$modules)) {
# Inclusion du code contrôleur correspondant à l'action demandée
require('./modulles/' . $_GET['module'] . '.php');
}
else {
# Inclusion du code contrôleur de la page d'accueil
require('./modules/accueil.php');
}
?> |
Voici le code de la page fonctionsHTML.php :
Code:
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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
<?php
# Fonction qui renvoie le code HTML de l'en-tête de toutes les pages
function header_page($titre, $css) {
$header ="";
$header.="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">";
$header.="<html>\n";
$header.="<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" >\n";
$header.="<link rel=\"stylesheet\" type=\"text/css\" href=\"$css\" media=\"all\" >\n";
$header.="<title>$titre</title>\n</head>\n";
return $header;
}
# Fonction qui renvoie le code HTML du menu de toutes les pages
function menu() {
$menu ="";
$menu.="<ul>
<li><a href=\"?module=acceuil\">Accueil</a></li>
<li><a href=\"?module=salles\">Reserver une salle</a></li>
";
if (isset($_SESSION['utilisateur'])) {
$user = $_SESSION['utilisateur'];
if($user->isAdministrateur){
$menu.="<li><a href=\"?module=inscription\">Inscrire un nouveau membre</a></li>";
}
}
$menu.="<li><a href=\"logout.php\">Deconnexion</a></li>";
$menu.="</ul>";
return $menu;
}
// Fonction qui renvoie le code HTML du pied de toutes les pages
function footer_page($email) {
$footer ="";
$footer.="<strong> date du jour" . date("j/m/Y") ." :: </strong>";
# ! adresse email non cryptée : spam possible
$footer.="<a href=\"mailto:";
$footer.=$email;
$footer.="\">";
$footer.=$email;
$footer.="</a>\n";
return $footer;
}
# Fonction qui renvoie le code HTML du formulaire d'ajout d'un utilisateur
function form_inscription() {
$form ='
<form action="#" method="post">
<p>Matricule :<input type="text" name="matricule" /></p>
<p>Mot de passe : <input type="text" name="mdp" /></p>
<p>Nom :<input type="text" name="nom" /></p>
<p>Prenom : <input type="text" name="prenom" /></p>
<p>email : <input type="text" name="email" /></p>
<p>Administrateur : <input type="checkbox" name="administrateur" value="0" unchecked/></p>
<p><input type="submit" value="Enregistrer"></p>
</form>
';
return $form;
}
# Fonction qui renvoie le code HTML du formulaire de login
function form_login() {
$form ='
<form action="#" method="post">
<p>Matricule : <input type="text" name="matricule" /></p>
<p>Mot de passe : <input type="password" name="mdp" /></p>
<p><input type="submit" value="Se connecter"></p>
</form>
';
return $form;
}
function boite_erreur($html) {
print'<div id="msg_erreur"><h3>Une ou plusieurs erreurs se sont produites :</h3>';
print $html;
print'</div>';
}
?> |
et voici le code de la page inscription.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?php
// Connexion à la base de donné
try {
$dbh = connexionDB();
} catch (PDOException $e) {
erreur(1);
}
if (isset($_POST['matricule']) && isset($_POST['mdp']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['email']) ) {
enregistrementUtilisateur($dbh, $matricule, $mdp, $nom, $prenom, $email, $_POST['souvenir']);
print "<p>Enregistrement reussie</p>";
header('location: ?module=accueil');
}else{
boite_erreur("<p>Erreur, Aucun champ ne doit être vide!!!</p>");
}
form_inscription();
?> |
Je me demandais donc si cette méthode MVC était correcte ?
Merci d'avance.
bee