Об MVC

MVC — Model View Controller.

Это паттерн проектирования для построения веб-приложений. Так же, этот паттерн проектирования лежит в основе многих фреймворков.

Как я его понимаю:

  1. View — вид или представление. Это файлы, в которых HTML, которые отображают при помощи вложенности или же простых условий и циклов какую-то информацию
  2. Model — представление сущностей приложение с возможностью сохранять, редактировать и удалять данные из базы данных.
  3. Controller — контейнер для action’ов, которые представляют из себя веб-страницы или же адрес, по которым принимают, например, AJAX-запросы с фронтенда или же API-запросы из других мест. Контроллер должен работать исключительно с HTTP; тогда как, например, CLI туда попадать не должен. Отсюда вытекает и то, что всё приложение должно быть заточено под гибкую работу в контексте вышесказанного. Простейший пример: не нужно использовать глобальную переменную $_POST где-то, кроме контроллера.

Так же, у системы контроллер есть подсистема — роутинг. Роутинг, так сказать, документирует то, как, где, в каких формах и с какими параметрами открываются веб-страницы или же исполняются аякс- или же апи-запросы.

Логика приложения, я считаю, должна быть в менеджерах. То есть, в экшене контроллера принимается запрос, валидируется и фильтруется, далее он обрабатывается менеджером и сохраняется в базу данных посредством модели.

А менеджер — это паттерн проектирования, взятый из реальной жизни.

Exit mobile version