-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
42 lines (33 loc) · 969 Bytes
/
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
<?php
header('Content-Type: application/json; charset=utf-8');
require_once 'classes/search.php';
class Rest
{
public static function open($requisicao)
{
$url = explode('/', $requisicao['url']);
$classe = ucfirst($url[0]);
array_shift($url);
$metodo = $url[0];
array_shift($url);
$parametros = array();
$parametros = $url;
try {
if (class_exists($classe)) {
if (method_exists($classe, $metodo)) {
$retorno = call_user_func_array(array(new $classe, $metodo), $parametros);
return json_encode(array('status' => 'sucesso', 'dados' => $retorno));
} else {
return json_encode(array('status' => 'erro', 'dados' => 'Método inexistente!'));
}
} else {
return json_encode(array('status' => 'erro', 'dados' => 'Classe inexistente!'));
}
} catch (Exception $e) {
return json_encode(array('status' => 'erro', 'dados' => $e->getMessage()));
}
}
}
if (isset($_REQUEST)) {
echo Rest::open($_REQUEST);
}