class Router {
public static function route(Request $request) {
$controllerName = $request->getController() . 'Controller';
$methodName = $request->getMethod();
$args = $request->getArgs();
if(is_readable(CONTROLLERS . $controllerName . '.php')) {
$controller = new $controllerName;
$method = (is_callable(array($controller, $methodName))) ? $methodName : 'main';
if(!empty($args)) {
call_user_func_array(array($controller, $method), $args);
} else {
call_user_func(array($controller, $method));
}
return;
}
throw new Exception('wrong_route');
}
}