Example #1
0
 public function getContext(RequestInterface $request, RouteCollectionInterface $routes)
 {
     if ($routes->isEmpty()) {
         return null;
     }
     $path = $request->getPath();
     foreach ($routes->getRoutes() as $routeName => $route) {
         $compiled = $this->compiler->compile($route);
         if (!preg_match($compiled->getRegexp(), $path, $matches)) {
             continue;
         }
         list($controllerName, $actionName) = explode('#', $route->getController(), 2);
         $arguments = $this->mergeArguments($matches, $compiled);
         $contextClass = $this->contextClass;
         return new $contextClass($controllerName, $actionName, $arguments, $routes->getModuleName(), $routeName);
     }
     return null;
 }