public static function create(
        array $methods,
        string $routeStr,
        array $info
    ) {
        $middlewareList = isset($info['middleware']) ? (array) $info['middleware'] : [];
        array_walk_recursive(
            self::$middlewareGroupStack,
            function ($middleware) use (&$middlewareList) {
                $middlewareList[] = $middleware;
            }
        );

        $route = new self();
        $route->setMethods($methods);
        $route->setAction(isset($info['action']) ? $info['action'] : 'index');
        $route->setAlias(isset($info['alias']) ? $info['alias'] : '');
        $route->setMiddlewareList($middlewareList);
        $route->setControllerName($info['controller']);
        $route->setMethods($methods);
        $route->setRouteStr($routeStr);

        Map::addRoute($route);
    }