Faltaban dos cosillas
Código:
$controlador = new $controlador();
application/Bootstrap.php
Código PHP:
/*LLAMA-CONTROLADORES-METODOS*/
class Bootstrap {
public static function run(Request $peticion) { //Recogemos Controlador/Metodo/Argumentos de application/Request.php
$controlador = $peticion->getControlador().'Controller'; //Controlador pedido
$rutaControlador = ROOT.'controllers'.DS.$controlador.'.php'; //Ruta del Controlador pedido
$metodo = $peticion->getMetodo(); //Metodo pedido
$args = $peticion->getArgs(); //Argumentos pedidos
if (is_readable($rutaControlador)) { //Comprobamos que exista y sea legible el Controlador
require_once $rutaControlador; //Cargamos el controlador
$controlador = new $controlador();
if (is_callable(array($controlador, $metodo))) { //Verifica que los contenidos de una variable puedan ser llamados como una función
$metodo = $peticion->getMetodo(); //Devolvemos el Metodo pedido
} else {
$metodo = 'index'; //Devolvemos el Metodo por defecto
}
if (isset($args)) { //Comprobamos que existan los Argumentos
//Llamar una función de usuario dada con una matriz de parámetros
call_user_func_array(array($controlador, $metodo), $args);
} else {
//Llamar a una llamada de retorno dada por el primer parámetro
call_user_func(array($controlador, $medoto));
}
} else {
//Informamos que no existe la Ruta del Controlador
throw new Exception('No existe el Controlador: \'controllers/'.$controlador.'.php\'');
}
}
}