loadConfig = Closure::fromCallable($loadConfig ?? fn (string $glob) => loadConfigFromGlob($glob)); } public function __invoke(): array { $config = ($this->loadConfig)(__DIR__ . '/../config/{,*.}config.php'); return $this->applyRoutesPrefix($config); } private function applyRoutesPrefix(array $config): array { $routes =& $config['routes'] ?? []; // Prepend the routes prefix to every path foreach ($routes as $key => $route) { ['path' => $path] = $route; $routes[$key]['path'] = sprintf( '%s%s', $path === '/health' ? self::UNVERSIONED_ROUTES_PREFIX : self::ROUTES_PREFIX, $path, ); } return $config; } }