Example #1
0
 /**
  * Match routes.
  *
  * @param string $route
  * @param Route  $routeItem
  *
  * @return  Route|false
  */
 public function matchRoute($route, Route $routeItem)
 {
     $regex = $routeItem->getRegex();
     if (!$regex || $this->debug) {
         $regex = BasicCompiler::compile($routeItem->getPattern(), $routeItem->getRequirements());
         $routeItem->setRegex($regex);
     }
     $route = RouteHelper::normalise($route);
     if (preg_match($regex, $route, $matches)) {
         $variables = RouteHelper::getVariables($matches);
         $variables['_rawRoute'] = $route;
     } else {
         return false;
     }
     $routeItem->setVariables(array_merge($routeItem->getVariables(), $variables));
     return $routeItem;
 }