PHP: Маска элементов в массиве
изучаю то как работают фраймворки И решил сделать свою систему роутов Сейчас у меня работает так
$route->addRoute({method}, "{route}", {controller function or object})
Пример
$route->addRoute(POST, "/blog", [\Controllers\BlogController::class, "showPage"])
В классе route я просто записываю обработчик и роут в массив
А потом при обращении смотрю в массиве какой обработчик под этим роутом
И при подключении ищу роут:

Как сделать передачу параметров? Например вот так
$route->addRoute(POST, "/hello/{id}", function($response, $request, ...$params){
return $response->setBody("Id: " . $params['id']);
});
Переменная $response хранит объект для формирования ответа, $request не важно Как можно сделать $params? Пробовал формировать регулярные выражения при добавлении роута в массив, а потом через foreach сравнивать, но это не поддерживает большое количество параметров