示例#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());
 }
示例#2
0
 public function testShouldMatchRouteWithEmptyHostName()
 {
     $_SERVER['HTTP_HOST'] = null;
     DI::getDefault()->get('config')->application->hostname = null;
     $routerAdapter = new \Vegas\Mvc\Router\Adapter\Standard(DI::getDefault());
     $router = new \Vegas\Mvc\Router(DI::getDefault(), $routerAdapter);
     $router->addRoutes(['test' => ['route' => '/', 'paths' => ['module' => 'Mod', 'controller' => 'Con', 'action' => 'Act']]]);
     $router->setup();
     $defaultRouter = $router->getRouter();
     $route = $defaultRouter->getRouteByName('test');
     $defaultRouter->handle('/');
     $matchedRoute = $defaultRouter->getMatchedRoute();
     $this->assertNotEmpty($matchedRoute);
     $this->assertEquals($route->getPaths()['module'], $matchedRoute->getPaths()['module']);
     $this->assertEquals($route->getPaths()['controller'], $matchedRoute->getPaths()['controller']);
     $this->assertEquals($route->getPaths()['action'], $matchedRoute->getPaths()['action']);
 }