Example #1
0
 /**
  * Method to test build().
  *
  * @return void
  *
  * @covers Windwalker\Router\Router::build
  */
 public function testBuild()
 {
     $routes = array(new Route('flower', 'flower/(id)/(alias)', array('_controller' => 'FlowerController')), new Route('sakura', 'foo/bar(/id,sakura)', array('_controller' => 'SakuraController')));
     $this->instance->addRoutes($routes);
     $this->assertEquals('flower/25/sakura', $this->instance->build('flower', array('id' => 25, 'alias' => 'sakura')));
     $this->assertEquals('/flower/25/sakura', $this->instance->build('flower', array('id' => 25, 'alias' => 'sakura'), true));
 }
 /**
  * Build route by resource setting.
  *
  * @param string $name       The route name.
  * @param array  $queries    The queries.
  * @param bool   $rootSlash  Add root slash or not.
  *
  * @return  array|string  Segments, can be string or array.
  */
 public function build($name, $queries = array(), $rootSlash = false)
 {
     $segments = parent::build($name, $queries, $rootSlash);
     $uri = new Uri($segments);
     $segments = $uri->getPath();
     $this->queries = $uri->getQuery(true);
     return explode('/', $segments);
 }