public function run() { $map = $this->config['routes']; /* Выбрался массив с роутами */ $match_route = new Router($map); $route = $match_route->findRoute(); $controller = new $route['controller'](); $action = $route['action'] . 'Action'; $vars = null; if (class_exists($route['controller'])) { $controller_reflection = new \ReflectionClass($route['controller']); if ($controller_reflection->hasMethod($action)) { $method = new \ReflectionMethod($controller, $action); $params = $method->getParameters(); if (empty($params)) { $method->invoke(new $controller()); } else { new RouteException(); } } else { new FrameworkException(); } } //определили контролер //определили екшен /* $controller = new stdClass(); $response = $controller->$action(параметры); if($response instanceof ResponseInterface) { if($response->type == 'html') { //TODO: доделать рендер, $renderer = new Renderer($view, $data); $wrapped = $renderer->render($main_layout, array('content' => $response->getContent())); $response = new Response($wrapped); } $response->send(); }else{ throw new BadResponseExeption(); } $response->send();*/ }