Вот записываю я урлы типа:
$router->get('update'/:num/:any, 'PageController@update');
$router->get('delete/:num', 'PageController@update');
Записывается это в массив:
protected $routes = [
'GET' => [],
'POST' => [],
];
Дальше я прохожусь методом getReg по массиву и создаю регулярки для каждого из раута, если они имеют параметры :num :any
private function getReg()
{
$exps = [];
foreach ($this->routes['GET'] as $key => $value) {
if(strpos($key, ':')) {
$exps[] = str_replace(':any', '[a-z]+', str_replace(':num', '[0-9]+', $key));
}
}
return $exps;
}
Получаю это:
array(2) {
[0]=>
string(24) "update/[0-9]+/[a-z]+"
[1]=>
string(20) "delete/[0-9]+"
}
Массив с раутами выглядит примерно так
[update/:num/:any] => PageController@update
Куда дальше двигаться? У меня ощущение, что я иду в неправильном направлении.