Example #1
0
 /**
  * Stores a named route and returns it. The "action" will always be set to
  * "index" if it is not defined.
  *
  *     $app->router->add('default', "/a/b/c", "/Controller/Index")
  *         ->defaults(array(
  *             'abc' => 'cde',
  *         ));
  *
  * @param   string  $name           route name
  * @param   string  $uri            URI pattern
  * @param   string  $controller     Controller class name or alias
  * @param   array   $regex          regex patterns for route keys
  * @return  Route
  */
 public function add($name, $uri, $controller, array $regex = array())
 {
     $controller_config = array();
     if (isset($this->controller_aliases[$controller])) {
         $controller_config = $this->controller_configs[$controller];
         $controller = $this->controller_aliases[$controller];
     }
     $controller = str_replace("/", "\\", $controller);
     $route = new Route($uri, $controller, $regex);
     $route->add_config($controller_config);
     $this->routes[$name] = $route;
     return $route;
 }