/** * Try to Route It - As it sounds like, works with the router to * match a route against the current URI. If the route is a * "redirect route", will also handle the redirect. * * @param RouteCollectionInterface $routes An collection interface to use in place * of the config file. */ protected function tryToRouteIt(RouteCollectionInterface $routes = null) { if (empty($routes) || !$routes instanceof RouteCollectionInterface) { require APPPATH . 'Config/Routes.php'; } // $routes is defined in Config/Routes.php $this->router = Services::router($routes); $path = is_cli() ? $this->request->getPath() : $this->request->uri->getPath(); $this->benchmark->stop('bootstrap'); $this->benchmark->start('routing'); ob_start(); $this->controller = $this->router->handle($path); $this->method = $this->router->methodName(); $this->benchmark->stop('routing'); }
public function testAutoRouteFindsControllerWithSubfolder() { $router = new Router($this->collection); mkdir(APPPATH . 'controllers/subfolder'); $router->autoRoute('subfolder/myController/someMethod'); rmdir(APPPATH . 'controllers/subfolder'); $this->assertEquals('MyController', $router->controllerName()); $this->assertEquals('someMethod', $router->methodName()); }