Ejemplo n.º 1
0
 public function testCreatingUsesDefaultsWhenNotSupplied()
 {
     $route = new RecursiveRoute('/page/:page_id/:page_title');
     $route->setDefaults(array('page_id' => 10, 'page_title' => 'home'));
     $url = $route->createUrl(array('page_id' => 20));
     $this->assertEquals($url, '/page/20/home/');
 }
Ejemplo n.º 2
0
 protected function getRoute()
 {
     $route = new RecursiveRoute('/');
     $subRoute1 = new RecursiveRoute(':module/:title');
     $subRoute2 = new RecursiveRoute(':module/:id');
     $subRoute2->setValidators(array('id' => '/^\\d+$/'));
     $route->addRoute($subRoute1);
     $route->addRoute($subRoute2);
     return $route;
 }
Ejemplo n.º 3
0
 public function testCreatingUsesParameters()
 {
     $route = new RecursiveRoute('/static1/:param1/static2/:param2/static3');
     $url = $route->createUrl(array('param1' => 'value1', 'param2' => 'value2'));
     $this->assertEquals($url, '/static1/value1/static2/value2/static3/');
 }
Ejemplo n.º 4
0
 /**
  * Will add a subroute to this route
  *
  * @param $route
  */
 public function addRoute($route)
 {
     if (is_string($route)) {
         $route = new RecursiveRoute($route);
     }
     if (!$route instanceof RecursiveRoute) {
         throw new RecursiveRoute_InvalidArgument_Exception(__METHOD__ . ': Arguement should be string or RecursiveRoute object');
     }
     $route->setSubRoute();
     array_push($this->subRoutes, $route);
 }
Ejemplo n.º 5
0
 protected function getThreeLevelRoute()
 {
     $route = new RecursiveRoute('/');
     $newsRoute = new RecursiveRoute('/news/');
     $newsRoute->addRoute(':id/:title/');
     $newsRoute->addRoute('archive/:year/:month');
     $route->addRoute($newsRoute);
     $pagesRoute = new RecursiveRoute('page');
     $pagesRoute->addRoute(':page_id');
     $pagesRoute->addRoute(':page_id/:page_title');
     $route->addRoute($pagesRoute);
     return $route;
 }