/** * Renvoie l'url rewritée complète. * Si l'id de la route à utiliser pour la base de l'url a déjà été défini par les méthodes * \Aouka\Project\Routing\UrlRewriter::setDefaultUrl() ou \Aouka\Project\Routing\UrlRewriter::setUrlId(), * c'est ce dernier id qui sera utilisé. * * @param string $sRouteId Id de la route à utiliser pour rewriter l'url. Surcharge le précédent Id éventuel. * @param array $aParams Liste des paramètres associés à la route. * @return Url */ public static function getUrl($sRouteId = '', $aParams = []) { $oSelf = new self(); $cUriComponent = null; $aUriComponentsToRewrite = []; if ($sRouteId) { $oSelf->setRoute($sRouteId, $aParams); $cUriComponent = $oSelf->getComponentType($sRouteId); switch ($cUriComponent) { case self::URI_PATH: $aUriComponentsToRewrite = [self::URI_BASEPATH, self::URI_PATH]; break; case self::URI_COMPLETE_PATH: $aUriComponentsToRewrite = [self::URI_COMPLETE_PATH]; break; } } $oSelf->rewrite($aUriComponentsToRewrite); return $oSelf->get($cUriComponent); }