protected function _default(Request $request) { $route = new Route(); $uri = $request->getUri(); $uri = strpos($uri, "?") !== false ? substr($uri, 0, strpos($uri, "?")) : $uri; $parts = explode("/", $uri); $parts = $this->_filter($parts); switch (count($parts)) { case 0: $route->setControllerName("index"); $route->setActionName("index"); break; case 1: $route->setControllerName($parts[0]); $route->setActionName("index"); array_shift($parts); break; default: $route->setControllerName($parts[0]); $route->setActionName($parts[1]); array_shift($parts); array_shift($parts); break; } count($parts) % 2 !== 0 ? array_pop($parts) : false; if (count($parts)) { for ($i = 0; $i < count($parts); $i = $i + 2) { $request->addParam($parts[$i], $parts[$i + 1]); } } return $route; }