/** * {@inheritdoc} */ public function getRouteCollection() { if (!$this->routes) { $this->routes = $this->controllers->getRoutes(); foreach ($this->aliases as $source => $alias) { $name = $source; $params = []; if ($query = substr(strstr($source, '?'), 1)) { $name = strstr($source, '?', true); parse_str($query, $params); } if ($route = $this->routes->get($name)) { $this->routes->add($source, new Route($alias[0], array_merge($route->getDefaults(), $params, ['_variables' => $route->compile()->getPathVariables()]))); } } } return $this->routes; }