Flight404
@Flight404
начинающий PHP - программист

Как лучше сделать Router в MVC программе?

Сделал свой mvc каркас, но не знаю как лучше организовать Router.
1) Использовать $_GET параметры вида /site/?controller=news&action=index
2) Разбивать URL на сегменты:

$routes = explode('/', $_SERVER['REQUEST_URI']);
if ( !empty($routes[2]) ) {
$controllerName = $routes[2]; //Имя контроллера
}

if ( !empty($routes[3]) ) {
$actionName = $routes[3]; //Имя экшена
}

3) Прописывать роуты в виде массива:
$routes = array(
'news' => 'news/index',
'news/([0-9])' => 'news/view'
)
Затем циклом с помощью регулярных выражений искать совпадения в $_SERVER['REQUEST_URI'], и соответственно выполнять дальнейшие действия.
В 1 и 2 случае controller и action определяются автоматически.
В 3 Необходимо прописывать роуты зарание, как в laravel Route::get('/', 'maincontroller@index');

Какой способ более гибкий и перспективный?
  • Вопрос задан
  • 525 просмотров
Пригласить эксперта
Ответы на вопрос 1
By_Engine
@By_Engine
Я совсестил 2 и 3. Если нет маршрута в списке - определять автоматически
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:01
500 руб./за проект
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час