Umr001
@Umr001
php

Логика хорошего роутера на php?

Вот записываю я урлы типа:
$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
Куда дальше двигаться? У меня ощущение, что я иду в неправильном направлении.
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы