public function create(RouteCollection $routes): Tree
    {
        $routesArray = $routes->all();

        $routesPaths = array_map(function (Route $route) {
            return $this->serializer->serialize($route->getPath());
        }, $routesArray);

        $tree = new Tree();

        /** @var RoutePath[] $pathArray */
        foreach ($routesPaths as $index => $pathArray) {
            $route = $routesArray[$index];

            /** @var TreeNode $treeNode */
            $treeNode = $tree;

            foreach ($pathArray as $path) {
                $treeNode = $this->addPathPartToTree($treeNode, $path, $route, $index);
            }
        }

        return $tree;
    }
public function create(RouteCollection $routes): Tree
    {
        $routesArray = $routes->all();

        $routesPaths = array_map(function (Route $route) {
            return $this->serializer->serialize($route->getPath());
        }, $routesArray);

        $tree = new Tree();

        /** @var RoutePath[] $pathArray */
        foreach ($routesPaths as $index => $pathArray) {
            $route = $routesArray[$index];

            /** @var TreeNode $treeNode */
            $treeNode = $tree;

            foreach ($pathArray as $path) {
                $treeNode = $this->addPathPartToTree($treeNode, $path, $route, $index);
            }
        }

        return $tree;
    }
public function create ( RouteCollection $ routes ) : Tree { $ routesArray = $ routes -> all ( ) ; $ routesPaths = array_map ( function ( Route $ route ) { return $ this -> serializer -> serialize ( $ route -> getPath ( ) ) ; } , $ routesArray ) ; $ tree = new Tree ( ) ; /** @var RoutePath[] $pathArray */ foreach ( $ routesPaths as $ index => $ pathArray ) { $ route = $ routesArray [ $ index ] ; /** @var TreeNode $treeNode */ $ treeNode = $ tree ; foreach ( $ pathArray as $ path ) { $ treeNode = $ this -> addPathPartToTree ( $ treeNode , $ path , $ route , $ index ) ; } } return $ tree ; }
Creates new tree from the route collection.

@param RouteCollection $routes
@return Tree
Creates new tree from the route collection .