-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
84 lines (74 loc) · 2.24 KB
/
index.php
File metadata and controls
84 lines (74 loc) · 2.24 KB
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
<?php
# Prise du temps actuel au début du script
$time_start = microtime(true);
# Variables globales du site
define('VIEW_PATH','views/');
define('EMAIL','jeanluc.collinet@ipl.be');
$date = date("j/m/Y");
# Require des classes automatisé
function loadClass($class) {
require_once 'models/' . $class . '.class.php';
}
spl_autoload_register('loadClass');
# Ecrire ici le header de toutes pages HTML
require_once(VIEW_PATH . 'header.php');
# Ecrire ici le menu du site de toutes pages HTML
require_once(VIEW_PATH . 'menu.php');
# Tester si une variable GET 'action' est précisée dans l'URL index.php?action=...
$action = (isset($_GET['action'])) ? htmlentities($_GET['action']) : 'default';
# Quelle action est demandée ?
/**
* @return GenesisController
*/
function getControllerGenesis()
{
require_once('controllers/GenesisController.php');
$controller = new GenesisController();
return $controller;
}
/**
* @return BooksController
*/
function getControllerBook()
{
require_once('controllers/BooksController.php');
$controller = new BooksController();
return $controller;
}
/**
* @return ContactController
*/
function getControllerContact()
{
require_once('controllers/ContactController.php');
$controller = new ContactController();
return $controller;
}
/**
* @return HomeController
*/
function getControllerHome()
{
require_once('controllers/HomeController.php');
$controller = new HomeController();
return $controller;
}
switch($action) {
case 'genesis':
$controller = getControllerGenesis();
break;
case 'books':
$controller = getControllerBook();
break;
case 'contact':
$controller = getControllerContact();
break;
default: # Par défaut, le contrôleur de l'accueil est sélectionné
$controller = getControllerHome();
break;
}
# Exécution du contrôleur correspondant à l'action demandée
$controller->run();
# Ecrire ici le footer du site de toutes pages HTML
require_once(VIEW_PATH . 'footer.php');
?>