public function buildUri(RouteData $routeData, $language = null) { $path = $this->translations->getTranslation($language) ?: $this->path; $params = $routeData->getParams(); if ($language) { foreach ($params as $name => &$value) { if (is_array($value)) { foreach ($value as &$v) { $v = $this->translations->translatePlaceholderValue($name, $v, $language) ?: $v; } } else { $value = $this->translations->translatePlaceholderValue($name, $value, $language) ?: $value; } } } $uriBuilder = new PlaceholderUriBuilder($path, $this->defaults); return $uriBuilder->buildUri(new RouteData($routeData->getName(), $params), $language); }
public function buildUri(RouteData $routeData, $language = null) { $urlMaker = new PlaceholderUriBuilder($this->path, $this->defaults); return $urlMaker->buildUri($routeData, $language); }