/** * Fix composite route. * * @param array $route */ private function fixComposite(array &$route) { $prefix = isset($route['prefix']) ? $route['prefix'] : '/'; $middlewares = $this->extractMiddleware($route); $whiteLists = array_keys($this->configMaps()); $collection = new self($prefix); $collection->setMiddlewares($middlewares); foreach ($route as $name => $value) { if (in_array($name, $whiteLists)) { continue; } if (is_array($value)) { $collection->load($name, $value); unset($route[$name]); unset($route['prefix']); unset($route['middlewares']); } } $this->addCollection($collection); }