-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
48 lines (41 loc) · 1.46 KB
/
index.php
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
<?php
# Prise du temps actuel au début du script
$time_start = microtime(true);
# Variables globales du site
define('VIEW_PATH','views/');
define('EMAIL','[email protected]');
$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 ?
switch($action) {
case 'genesis':
require_once('controllers/GenesisController.php');
$controller = new GenesisController();
break;
case 'books':
require_once('controllers/BooksController.php');
$controller = new BooksController();
break;
case 'contact':
require_once('controllers/ContactController.php');
$controller = new ContactController();
break;
default: # Par défaut, le contrôleur de l'accueil est sélectionné
require_once('controllers/HomeController.php');
$controller = new HomeController();
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');