/**
  * 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);
 }
Beispiel #2
0
 /**
  * @expectedException \RuntimeException
  */
 public function testNamedRouteException()
 {
     $routes = new Routes();
     $routes->getNamedRoute('foo');
 }