コード例 #1
0
ファイル: index.php プロジェクト: andrevargas/sisnetMVC
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem('./app/visao/');
RespostaTwig::$motorTwig = new Twig_Environment($loader);
$configuracao = new Configuracao();
$rotas = new Rota();
$rotas->adicionarRota(Rota::GET, "/teste", "Padrao", "index");
$rotas->adicionarRota(Rota::POST, "/teste/cadastrar", "Padrao", "cadastrar");
$rotas->adicionarRota(Rota::GET, "/restrito/clientes", "Cliente", "listarClientes");
$requisicao = new Requisicao($_REQUEST);
$actual_link = $_SERVER["REQUEST_URI"];
$temp = explode("index.php", $actual_link);
$temp = explode("?", $temp[1]);
$rota = $temp[0];
$metodo = $_SERVER["REQUEST_METHOD"];
try {
    $acao = $rotas->buscarRota($rota, $metodo);
    $controlador = $acao['controlador'];
    $metodo = $acao['acao'];
    $controlador = new $controlador($configuracao, $requisicao);
    if ($controlador instanceof Controlador) {
        $retorno = call_user_func_array(array($controlador, $metodo), array());
        if ($retorno instanceof Resposta) {
            $retorno->executar();
        } else {
            throw new Exception("Resposta é inválida");
        }
    } else {
        throw new Exception("Caminho inválido");
    }
} catch (Exception $e) {
    echo $e->getMessage();