-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRequest.php
47 lines (38 loc) · 1.22 KB
/
Request.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
<?php
use core\util\Session;
use core\Application;
/**
* Classe que concentra todas as requisições - PageController
*/
class Request
{
/**
* Trata uma requisição de um cliente.
*/
static function getRequest()
{
//..se existir alguma coisa no $_GET, então...
if ($_GET) {
//..pega a classe (se existir)
$class = isset($_GET['class']) ? $_GET['class'] : null;
//..pega o método (se existir)
$method = isset($_GET['method']) ? $_GET['method'] : null;
if ($class) {
$class = "controller\\" . $class; //..acerta o caminho da classe.
//..instancia um novo objeto da classe informada.
$object = new $class;
//..se o método existir no objeto, então...
if (method_exists($object, $method)) {
//..invoca o método.
call_user_func(array($object, $method));
}
} else if (function_exists($method)) {
call_user_func($method, $GET);
}
}
}
}
//..inclui o autoload
require_once 'autoload.php';
//..trata a requisição
Request::getRequest();