У меня есть существующее веб-приложение для доступа к базе данных MySQL. Портирую это приложение на Symfony. Новое приложение должно использовать старую базу данных, поскольку мы не можем перенести все приложение сразу, т.е. старое и новое приложение обращаются к одной и той же базе данных, и приложения работают одновременно.
Старое приложение имело простую функциональность CMS, которую нужно было перенести:
Есть таблица page
, которая представляет дерево страниц. На каждой странице есть поле slug
. Путь URL-адреса состоит из этих ярлыков, представляющих путь, идентифицирующий узел страницы, например "/[parent-slug]/[child-slug]"
.
Таблица страниц также содержит поле content
. Как я уже упоминал, функциональность CMS очень проста, поэтому контент просто отображается как контент страницы внутри макета страницы. Запись страницы также определяет макет / шаблон страницы.
Моя проблема в том, что я не знаю, как настроить маршрутизацию. В обычном приложении Symfony я бы знал шаблоны URL и раньше, но в данном случае они динамические. Также маршруты не могут быть кэшированы, потому что они могут быть изменены пользователем в любой момент. Интересно, придется ли мне полностью отказаться от маршрутизации Symfony и реализовать что-то самостоятельно. Но как?
Теперь я нашел Symfony CMF, который много говорит о конфликте маршрутизации фреймворка VS CMS. Итак, сначала я подумал, что это будет правильный путь. Однако учебные пособия нацелены на создание совершенно нового приложения на основе PHPRC. Мне не удалось перенести концепции учебника на свой вариант использования.