Example #1
0
 /**
  * Initializes routing
  */
 public function initRoutes(Config $config)
 {
     //setups router
     $routerAdapter = new Standard($this->getDI());
     $router = new Router($this->getDI(), $routerAdapter);
     //adds routes defined in modules
     $modules = $this->getApplication()->getModules();
     foreach ($modules as $module) {
         $router->addModuleRoutes($module);
     }
     //adds routes defined in default file
     $defaultRoutesFile = $config->application->configDir . DIRECTORY_SEPARATOR . 'routes.php';
     if (file_exists($defaultRoutesFile)) {
         $routes = (require $defaultRoutesFile);
         if (is_array($routes)) {
             $router->addRoutes($routes);
         }
     }
     //setup router rules
     $router->setup();
     //registers router into DI
     $this->getDI()->set('router', $router->getRouter());
 }
Example #2
0
 public function testShouldAddModuleRoutes()
 {
     $routerAdapter = new \Vegas\Mvc\Router\Adapter\Standard(DI::getDefault());
     $router = new \Vegas\Mvc\Router(DI::getDefault(), $routerAdapter);
     $moduleLoader = new ModuleLoader(DI::getDefault());
     $modules = $moduleLoader->dump(TESTS_ROOT_DIR . '/fixtures/app/modules/', TESTS_ROOT_DIR . '/fixtures/app/config/');
     foreach ($modules as $module) {
         $router->addModuleRoutes($module);
     }
     $router->setup();
     $defaultRouter = $router->getRouter();
     $defaultRouter->handle('/test/fake/test');
     $route = $defaultRouter->getRouteByName('testfake');
     $matchedRoute = $defaultRouter->getMatchedRoute();
     $this->assertNotEmpty($matchedRoute);
     $this->assertEquals($route->getPaths()['controller'], $defaultRouter->getControllerName());
     $this->assertEquals($route->getPaths()['action'], $defaultRouter->getActionName());
     $this->assertEquals($route->getPaths()['module'], $defaultRouter->getModuleName());
     $this->assertEquals($route->getName(), $matchedRoute->getName());
     $this->assertEquals($route->getPaths()['action'], $matchedRoute->getPaths()['action']);
     $this->assertEquals($route->getPaths()['controller'], $matchedRoute->getPaths()['controller']);
     $this->assertEquals($route->getPaths()['module'], $matchedRoute->getPaths()['module']);
 }