/** * UrlBuilder * Renvoi une url par rapport à * un alias et ses arguments * @param string $alias * @param mixed $arguments * @return string */ function route($alias, $arguments = null) { // récupére l'url $url = '/' . Routes::getUrlByAlias($alias); // Gestion des arguments null !! attention aux routes avec plusieurs arguments if (is_null($arguments)) { $url = preg_replace('#:[a-z]+#', '', $url); } // ajoute les arguments à l'url if (gettype($arguments) === 'string') { $url = preg_replace('#:[a-z]+#', $arguments, $url); } elseif (gettype($arguments) === 'array') { foreach ($arguments as $value) { $url = preg_replace('#:[a-z]+#', $value, $url, 1); } } // netoyage des / au cas ou $url = str_replace('//', '/', $url); // retour de l'url complète return $url; }