本文整理匯總了PHP中Symfony\Component\Routing\Generator\UrlGeneratorInterface::getRouteCollection方法的典型用法代碼示例。如果您正苦於以下問題:PHP UrlGeneratorInterface::getRouteCollection方法的具體用法?PHP UrlGeneratorInterface::getRouteCollection怎麽用?PHP UrlGeneratorInterface::getRouteCollection使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Symfony\Component\Routing\Generator\UrlGeneratorInterface
的用法示例。
在下文中一共展示了UrlGeneratorInterface::getRouteCollection方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getAppRoute
public function getAppRoute($route_name, $app_id = null)
{
if (!$this->mappingRepository) {
$this->mappingRepository = $this->doctrine->getManager()->getRepository('UnifikSystemBundle:Mapping');
}
$mapping = $this->mappingRepository->findOneBy(array('app' => $app_id ? $app_id : $this->systemCore->getApplicationCore()->getApp()->getId(), 'type' => 'route', 'target' => $route_name), array('section' => 'ASC'));
if ($mapping) {
// Faut checker toutes les routes, à cause du mapping alias
$routes = $this->router->getRouteCollection()->all();
foreach ($routes as $name => $route) {
if ($defaults = $route->getDefaults()) {
if (array_key_exists('_unifikRequest', $defaults) && array_key_exists('mappedRouteName', $defaults['_unifikRequest'])) {
$real_name = preg_replace('/^[aA-zZ]{2}__[A-Z]{2}__/', '', $defaults['_unifikRequest']['mappedRouteName']);
// On a trouvé la bonne route
if ($real_name == $route_name) {
return preg_replace('/^[aA-zZ]{2}__[A-Z]{2}__/', '', $name);
}
}
}
}
// On a rien trouvé... on retourne la route "par défaut" de la section
return 'section_id_' . $mapping->getSection()->getId();
}
// Aucun mapping... on fallback sur la premiere route disponible (?)
$mapping = $this->mappingRepository->findOneBy(array('type' => 'route', 'target' => $route_name), array('section' => 'ASC'));
if ($mapping) {
return 'section_id_' . $mapping->getSection()->getId();
}
// Rien de concluant
return null;
}