Symfony\Bundle\FrameworkBundle\Routing\Router::getRouteCollection PHP Method

getRouteCollection() public method

public getRouteCollection ( )
    public function getRouteCollection()
    {
        if (null === $this->collection) {
            $this->collection = $this->container->get('routing.loader')->load($this->resource, $this->options['resource_type']);
        }

        return $this->collection;
    }

Usage Example

 private function collectCrudRoutes()
 {
     /** @var $collection \Symfony\Component\Routing\RouteCollection */
     $collection = $this->router->getRouteCollection();
     $allRoutes = $collection->all();
     /** @var $route \Symfony\Component\Routing\Route */
     foreach ($allRoutes as $routeName => $route) {
         $defaults = $route->getDefaults();
         if (!isset($defaults[self::TAG_CRUD])) {
             continue;
         }
         if (!isset($defaults['_controller'])) {
             throw new GeneralException(sprintf('Route %s doesn\'t contain \'_controller\' argument.', $routeName));
         }
         $routeNameParts = $this->explodeRouteNameParts($defaults['_controller']);
         $crudRoute = new CrudRoute();
         $crudRoute->setRouteName($routeName);
         $crudRoute->setCrudName($defaults[self::TAG_CRUD]);
         $crudRoute->setControllerFullName($routeNameParts[0]);
         $crudRoute->setBundleName($routeNameParts[1] . $routeNameParts[2]);
         //TODO: check long namespaces
         $crudRoute->setControllerName($routeNameParts[3]);
         $crudRoute->setActionName($routeNameParts[4]);
         $this->crudRoutes[$crudRoute->getControllerFullName()] = $crudRoute;
     }
 }
All Usage Examples Of Symfony\Bundle\FrameworkBundle\Routing\Router::getRouteCollection