示例#1
0
 /**
  * Adds a route collection to the current set of routes (at the end of the current set).
  *
  * @param RouteCollection $collection A RouteCollection instance
  * @param string          $prefix     An optional prefix to add before each pattern of the route collection
  */
 public function addCollection(RouteCollection $collection, $prefix = '')
 {
     $collection->addPrefix($prefix);
     foreach ($collection->getResources() as $resource) {
         $this->addResource($resource);
     }
     $this->routes = array_merge($this->routes, $collection->getRoutes());
 }
示例#2
0
 public function testAddCollection()
 {
     $collection = new RouteCollection();
     $collection->addRoute('foo', $foo = new Route('/foo'));
     $collection1 = new RouteCollection();
     $collection1->addRoute('foo', $foo1 = new Route('/foo1'));
     $collection1->addRoute('bar', $bar1 = new Route('/bar1'));
     $collection->addCollection($collection1);
     $this->assertEquals(array('foo' => $foo1, 'bar' => $bar1), $collection->getRoutes(), '->addCollection() adds routes from another collection');
     $collection = new RouteCollection();
     $collection->addRoute('foo', $foo = new Route('/foo'));
     $collection1 = new RouteCollection();
     $collection1->addRoute('foo', $foo1 = new Route('/foo1'));
     $collection->addCollection($collection1, '/foo');
     $this->assertEquals('/foo/foo1', $collection->getRoute('foo')->getPattern(), '->addCollection() can add a prefix to all merged routes');
     $collection = new RouteCollection();
     $collection->addResource($foo = new FileResource(__DIR__ . '/Fixtures/foo.xml'));
     $collection1 = new RouteCollection();
     $collection1->addResource($foo1 = new FileResource(__DIR__ . '/Fixtures/foo1.xml'));
     $collection->addCollection($collection1);
     $this->assertEquals(array($foo, $foo1), $collection->getResources(), '->addCollection() merges resources');
 }