villiwalla
@villiwalla
HTML-верстка

Роутер на основе хранения урл в БД и определение контроллера и его метода?

После инициализации конфигурации приложения и БД, запускается Router который получает текущий URL, ищет его во вьюхе БД и получает ID страницы для последующей запуска нужного контроллера (так должно быть) и метода и представлении данных о странице. т.к URL не предполагается использовать для запуска контроллеров (controller/action)

1. Как после обращения в БД, узнать какой контроллер мне нужен? Использовать колонку с типом страницы отвечающую за контроллер, а также создать таблицу справочник по типам страниц?

2. Если контроллер мы определили, пусть будет через справочник типов страниц, как тогда определить необходимый метод в контроллере?
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ответы на вопрос 1
gobananas
@gobananas
finishhim.ru
получает текущий URL, ищет его во вьюхе БД

Вот тут переделать бы что бы он искал в контроллере, или там уже всё сделано и это невозможно

ID страницы для последующей запуска нужного контроллера (так должно быть)

Не совсем так должно быть, когда у нас есть id страницы то мы уже точно знает какой контроллер и action нужен, пример из klein-роутера:
$klein->respond('GET', '/[:controller]/[:action]/[:id]', function ($request) {

id вообще не важно какой тут, controller и action уже определены

справочник типов страниц, как тогда определить необходимый метод

Так же через справочник очевидно просто он будет иметь 2 колонки, контроллер и метод

Как после обращения в БД, узнать какой контроллер мне нужен

В идеале, как я написал выше вы знаете controller и action ещё до обращения в БД, но раз пошла такая пьянка, то можно сделать как угодно, хоть каждому ID в БД персонально прописать controller и action, которые должны его обрабатывать.
Ответ написан
Ваш ответ на вопрос

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

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