public function __construct($config = []) { $this->configure($config); $patterns = new Patterns(empty($this->patterns) ? $this->urlsAlias : $this->patterns); parent::__construct($patterns->getRouteCollector()); $this->init(); }
public function testSimple() { $callback = function () { return true; }; $patterns = new Patterns(['/blog' => new Patterns(['/' => ['name' => 'index', 'callback' => $callback]], 'blog'), '' => new Patterns(['forum' => ['name' => 'index', 'callback' => $callback]], 'forum'), '/page' => new Patterns(['/' => ['name' => 'index', 'callback' => $callback]], 'page')]); $c = $patterns->getRouteCollector(); $this->assertEquals('/blog/', $c->reverse('blog:index')); $this->assertEquals('/forum', $c->reverse('forum:index')); $this->assertEquals('/page/', $c->reverse('page:index')); $d = new CustomDispatcher($c); $this->assertNotNull($d->dispatch('GET', '/blog/')); $this->assertEquals(301, $d->dispatch('GET', '/blog')); $this->assertNotNull($d->dispatch('GET', '/page/')); $this->assertEquals(301, $d->dispatch('GET', '/page')); }