/** * @param mixed $resource * @param null $type * @return \Symfony\Component\Routing\RouteCollection * @throws \RuntimeException */ public function load($resource, $type = null) { $routes = new RouteCollection(); /* * For each core bunle then for each module */ // CoreBundle $loader = $this->resolver->resolve('@EtuCoreBundle/Api/Resource/', 'annotation'); if ($loader) { $routes->addCollection($loader->load('@EtuCoreBundle/Api/Resource/', 'annotation')); } // UserBundle $loader = $this->resolver->resolve('@EtuUserBundle/Api/Resource/', 'annotation'); if ($loader) { $routes->addCollection($loader->load('@EtuUserBundle/Api/Resource/', 'annotation')); } /** @var $module Module */ foreach ($this->kernel->getModulesDefinitions() as $module) { $routing = $module->getApiRouting(); $loader = $this->resolver->resolve($routing['resource'], $routing['type']); if ($loader) { $routes->addCollection($loader->load($routing['resource'], $routing['type'])); } } return $routes; }
/** * @param mixed $resource * @param null $type * @return \Symfony\Component\Routing\RouteCollection * @throws \RuntimeException */ public function load($resource, $type = null) { if ($this->loaded) { throw new \RuntimeException('Do not add this loader twice'); } $routes = new RouteCollection(); /** @var $module Module */ foreach ($this->kernel->getModulesDefinitions() as $module) { $routing = $module->getRouting(); $loader = $this->resolver->resolve($routing['resource'], $routing['type']); if ($loader) { $routes->addCollection($loader->load($routing['resource'], $routing['type'])); } } return $routes; }