/** * @param Route $route */ public function addRoute(Route $route) { $slimRoute = new \Slim\Route($route->getPath(), [$this, 'dummyCallable']); $slimRoute->setName($route->getName()); $allowedMethods = $route->getAllowedMethods(); $slimRoute->via($allowedMethods === Route::HTTP_METHOD_ANY ? 'ANY' : $allowedMethods); // Process options $options = $route->getOptions(); if (isset($options['conditions']) && is_array($options['conditions'])) { $slimRoute->setConditions($options['conditions']); } // The middleware is merged with the rest of the route params $params = ['middleware' => $route->getMiddleware()]; if (isset($options['defaults']) && is_array($options['defaults'])) { $params = array_merge($options['defaults'], $params); } $slimRoute->setParams($params); $this->router->map($slimRoute); }