/** * Returns the URL of a named route. * * @access public * @param string $routeName Route name * @param array $routeParams Route parameters * @param array $queryParams Associative array used to build URL-encoded query string * @param string $separator Argument separator * @param mixed $language Request language * @return string */ public function toRoute($routeName, array $routeParams = [], array $queryParams = [], $separator = '&', $language = true) { $route = $this->routes->getNamedRoute($routeName)->getRoute(); foreach ($routeParams as $key => $value) { if (!empty($value)) { $route = preg_replace('/{' . $key . '}\\??/', $value, $route, 1); } } if (strpos($route, '?') !== false) { $route = preg_replace('/\\/{\\w+}\\?/', '', $route); } return $this->to($route, $queryParams, $separator, $language); }
/** * @expectedException \RuntimeException */ public function testNamedRouteException() { $routes = new Routes(); $routes->getNamedRoute('foo'); }