-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
46 lines (34 loc) · 1.03 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
<?php
session_start();
if( !isset( $_GET['rt'] ) ){
header( 'Location: index.php?rt=home' );
}
// Provjeri je li postavljena varijabla rt; kopiraj ju u $route
if( isset( $_GET['rt'] ) )
$route = $_GET['rt'];
else
$route = 'index';
// Ako je $route == 'con/act', onda rastavi na $controllerName='con', $action='act'
$parts = explode( '/', $route );
$controllerName = $parts[0] . 'Controller';
if( isset( $parts[1] ) )
$action = $parts[1];
else
$action = 'index';
// Controller $controllerName se nalazi poddirektoriju controller
$controllerFileName = 'controller/' . $controllerName . '.php';
// Includeaj tu datoteku
if( !file_exists( $controllerFileName ) )
{
$controllerName = '_404Controller';
$controllerFileName = 'controller/' . $controllerName . '.php';
}
require_once $controllerFileName;
// Stvori pripadni kontroler
$con = new $controllerName;
// Ako u njemu nema tražene akcije, stavi da se traži akcija index
if( !method_exists( $con, $action ) )
$action = 'index';
// Pozovi odgovarajuću akciju
$con->$action();
?>