public function __construct(RouteGenerator $route, $controller_file = null)
 {
     if (!$route->isUsingController()) {
         throw new \Exception("Route must use Controller as action");
     }
     list($controller, $method) = explode('@', $route->getActionName());
     $this->route = $route;
     $this->files = new Filesystem();
     $this->controller_class = $controller;
     $this->controller_method = $method;
     $this->controller_file = $controller_file ?: app_path('controllers/' . str_replace("\\", "/", $controller)) . '.php';
 }