/** * {@override} */ protected function doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $absolute) { if (is_object($parameters)) { $parameters = $this->readObjectParameters($parameters, $variables); } return parent::doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $absolute); }
/** * @throws MissingMandatoryParametersException When route has some missing mandatory parameters * @throws InvalidParameterException When a parameter value is not correct */ protected function doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, array $requiredSchemes = []) { $baseUrl = $this->getContext()->getBaseUrl(); if ($name[0] != '_' && ($locale = $this->getContext()->getParameter('_locale'))) { $this->getContext()->setBaseUrl($baseUrl . '/' . $locale); } $result = parent::doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes); $this->getContext()->setBaseUrl($baseUrl); return $result; }
/** * {@inheritdoc} */ protected function doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, array $requiredSchemes = []) { $link = $name; if ($params = array_intersect_key($parameters, array_flip(isset($defaults['_variables']) ? $defaults['_variables'] : $variables))) { $link .= '?' . http_build_query($params); if ($properties = $this->getRouteProperties($link)) { list($variables, $defaults, $requirements, $tokens, $hostTokens, $requiredSchemes) = $properties; } } if ($referenceType === self::LINK_URL) { return $link; } return parent::doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes); }
/** * @param $variables * @param $defaults * @param $requirements * @param $tokens * @param $parameters * @param $name * @param $referenceType * @param $hostTokens * @param array $requiredSchemes * @return null|string */ protected function doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, array $requiredSchemes = []) { if (is_object($parameters)) { $object = $parameters; $parameters = []; } elseif (isset($parameters['object']) && is_object($parameters['object'])) { $object = $parameters['object']; unset($parameters['object']); } if (isset($object)) { $mergedParams = array_replace($defaults, $this->context->getParameters(), $parameters); $requiredParams = array_diff_key(array_flip($variables), $mergedParams); $parameters += $this->getParametersFromObject(array_keys($requiredParams), $object); } return BaseUrlGenerator::doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes); }
/** * Surcharge de l'url generator pour générer une route en fonction d'un objet (paramètre _object) * Les paramètres passés directement à la route sont prioritaires par rapport aux champs de _object * {@inheritdoc} */ protected function doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, array $requiredSchemes = []) { if (isset($defaults['_external']) && '' !== $this->context->getBaseUrl()) { $oldBaseUrl = $this->context->getBaseUrl(); $this->context->setBaseUrl(''); } if (isset($parameters['_object'])) { $object = $parameters['_object']; $parameters = array_merge($this->getParametersFromObject($variables, $object), $parameters); unset($parameters['_object']); } $url = parent::doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes); if (isset($oldBaseUrl)) { $this->context->setBaseUrl($oldBaseUrl); } return $url; }
/** * @param $variables * @param $defaults * @param $requirements * @param $tokens * @param $parameters * @param $name * @param $referenceType * @param $hostTokens * @param array $requiredSchemes * @return string */ protected function doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, array $requiredSchemes = array()) { if (array_key_exists(self::GENERATE_NORMAL_ROUTE, $parameters)) { unset($parameters[self::GENERATE_NORMAL_ROUTE]); return parent::doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes); } //use the cached version with my name - do the standard request if its not work // dont generate assets if (stripos($name, RouteLoader::ROUTE_BEGIN) !== 0 && stripos($name, '_assetic') !== 0) { $routeNames = $this->generateRouteNames($name, $this->context->getParameters(), $defaults, $parameters, $variables, $requirements); foreach ($routeNames as $routeName) { try { return $this->generate($routeName, $parameters, $referenceType); } catch (RouteNotFoundException $e) { } } } return parent::doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes); }
/** * @inheritdoc */ protected function doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, array $requiredSchemes = array()) { $parameters = $this->removeUnusedAutoParameters($this->automaticParameters, $parameters, $variables); return parent::doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes); }