-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrouter.php
More file actions
40 lines (36 loc) · 1.34 KB
/
router.php
File metadata and controls
40 lines (36 loc) · 1.34 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
<?php
class Router
{
static public function parse($url, $request)
{
$url = trim($url);
if ($url == WEBROOT)
{
$request->controller = "posts";
$request->action = "index";
$request->params = [];
}
else
{
$explode_url = explode('/', $url);
$explode_url = array_slice($explode_url, 2);
//var_dump($explode_url);
if (count($explode_url)<2){
$request->controller = "comments";
$request->action = "error";
$request->params = ['<strong>ERROR:</strong> URL INVALIDA'];
}else{
$request->controller = $explode_url[0];
$request->action = (null !== isset($explode_url[1])) ? $explode_url[1] : 'index';
$request->params = (null !== array_slice($explode_url, 2)) ? array_slice($explode_url, 2) : '';
// controlar que faltan parametros en acciones editar y borrar
if (($request->action == "delete" or $request->action == "edit") && (empty($request->params))){
$request->controller = "comments";
$request->action = "error";
$request->params = ['<strong>ERROR:</strong> FALTAN PARAMETROS'];
}
}
}
}
}
?>