Exemplo n.º 1
0
 public function route(Request $request)
 {
     $routes =& $this->routes[$request->method()];
     $values = null;
     $response = null;
     if (isset($routes)) {
         foreach ($routes as $route) {
             $values = [];
             $matches = null;
             $nmatches = preg_match($route['regexp'], $request->path(), $matches);
             if ($nmatches > 0) {
                 foreach ($route['params'] as $key) {
                     if (!isset($matches[$key])) {
                         break;
                     }
                     $values[$key] = $matches[$key];
                 }
                 if (count($values) == count($route['params'])) {
                     $response = $this->call($route, $values, $request);
                     break;
                 }
             }
         }
     }
     return $response;
 }