MaKvc
@MaKvc
Отчаянный веб-разработчик

Как подружить MVC и БД?

В классическом MVC приложении, каждая страница, описана в отдельном файле, например: IndexController.php, AboutController.php, ContactsController.php.
После разбора URL, например: example.com/about или example.com/about/index. Получаем контроллер AboutController.php и метод index().
В моем случает, получается некое подобие, простой CMS. Все страницы хранятся в БД, создаются, удаляются. Создавать запись в БД, а потом создавать файл контроллера, это тупость. Как правильно продумать и реализовать, отображение страниц из БД? Может для этих целей есть отдельный паттерн?

ПС: В приложении ContactsController.php наследуется от базового контроллера, и расширяется методом sendMessage($postData). (HTTP Method POST) example.com/contacts/send-message, после разбора URL, контроллер ContactsController.php метод sendMessage($postData).

UPD: Приложение существует и прекрасно работает. В базу пишет ContactsModel.php. Но раз уж используется БД, не лишним будет добавить динамические страницы.
  • Вопрос задан
  • 419 просмотров
Пригласить эксперта
Ответы на вопрос 1
oxyberg
@oxyberg
Продуктовый дизайнер ВКонтакте
Ну если вы храните в базе типовые страницы, то заведите для всех страниц контроллер `PageController`, который и будет отрабатывать все типовые урлы и тянуть модель, чтобы та таскала из бд данные для страниц. Если страницы отличаются, то нужно будет сделать по контроллеру для каждого типа страниц (вряд ли страницы полностью разнородны).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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