MVC Model-View-Controller

Mar 13, 03:51 am Категория:

Ладно, оттоптался по другим, займись своим. Благо есть чем. После изучения страницы этого сайта я обнаружил много интересных ссылок. Помимо обычных ссылок нашлись агрегатные и технические. Что с ними делать я просто не представляю. Взять, к примеру, категории. Зачем они нужны? Если это каталог или магазин, то категории служат для выстраивания иерархии объектов. И чем сложнее каталог, тем больше уровней иерархии нужно вводить. Для сайтов с большим объёмом различного контента категории – это фильтр, но структура плоская. Категории же на обычном сайте – это понты и проблемы для пользователя. Зато поисковые боты должны быть в восторге от каждой новой системы ссылок на сайте. Как-то так получается. Или не получается?

Пока с юзер и его эксприенсом полные непонятки, попробую разобраться с границами возможностей и фантазий, предоставляемыми Laravel. Ну а заодно и с MVC. Т.е. сначала проложу маршруты, а потом подумаю, как дороги устроить, и что построить вдаль них. Как правило для иллюстрации парадигмы “Модель – Контроллер – Представление” рисуют диаграммы с тремя блоками, которые все вместе соединяют шестью стрелками и всем всё должно быть понятно. Но если на самом попробовать разобраться, то выяснится, что блоков можно накидать больше трёх, что стрелок будет больше и всё совсем не так однозначно. Я тоже нарисовал картинку.

Она отражает текущую картину мира, сложившуюся в моей голове. Мне понятно, что основное взаимодействие производится с помощью мышки. Взаимодействие осуществляется через единую точку входа – в корне сервера лежит один единственный index.php, который получает всё необходимое от пользователя и отправляет в некий абстрактный роутер, отмеченный на схеме буквой R. Это важный момент. Именно в роутере прописываются все маршруты, запросы и протоколы. На основании этого роутер дёргает правильный контроллер, который через модель и по её правилам взаимодействует с базой данных, и отправляет результат в шаблонизатор для генерации представления, которое пользователь и должен увидеть.

При использовании такого подхода легко добавлять или убирать маршруты, модернизировать и оптимизировать контроллеры, что-то делать с моделями, базу данных менять, дизайн шаблонов допиливать. И самое главное, делать это можно абсолютно независимо. Ключевое слово *“можно”“. Т.е. MVC не гарантирует счастья, а лишь делает его возможным. А дальше каждый разработчик уже сам является девелопером своего счастья. Такая теория.

А на практике понятно, что все возможные клики должны приниматься роутером, а данные необходимо перенести из существующей базы в новую. А между базой и роутером потом помещу какую-нибудь магию и всё заработает. Или нет…

Теги этой статьи:

 

Комментарии

2017-10-18 10:12 pm , Оставь комментарий