MVC компонент

Вступление

MVC - модель, представление, контроллер в классическом виде представляет собой некое разделение приложения на логически разные части, которые не рекомендуется смешивать между собой для сохранения простоты.

По классике - все обращения с браузера первоначально идут на контроллер (маршрутизатор), который указывает на модель и её действие. Модель (логическая часть) выполняет действие и отображаемый результат передется на представление, которое выполняет роль шаблонизатора и должно в правильном виде все накопленные данные преобразовать.

Внутри контроллера обычно содержится роутер (маршрутизатор), который призван по входным пользовательским данным - указать логический блок, который отвечает за данное действие. У всех фреймворков модели называются по разному. В Zend Framewrok - модули. В Symfony - Bundle. Логический блок как правило содержит один класс для работы с конкретной сущностью и методы, которые вызываются в зависимости от роутинга. Логический блок передает все обработанные данные шаблонизатору.

В Core Фреймворке используется HMVC масштабируемая архитектура. Иерархический MVC. Модульный подход. Каждый модуль может быть частью другого модуля. Каждый модуль может независимо быть перемещен в другой модуль без вреда для работоспособности всей системы.

Все, что было описано до этого является отдельными независимыми библиотеками. Их можно использовать где угодно и как угодно без ограничений. MVC компонент работает в связке с Skeleton структурой и накладывает некоторые ограничения на сайт. Вы можете использовать MVC только для сайтов типа приложений. Это означает наличие на сайте блока html, head, body. Это означает, что загрузка всех исполняемых Javascript составляющих подтягиваются в конце страницы и вы не можете в центр html вывода воткнуть зависимый от других компонентов Javascript блок. У вас должен быть подключен Apache с включеным ModRewrite.

Но! взамен ограничений - MVC компонент даст вам свои преимущества. Простую в создании и отладке модульную архитукруту. Возможность тонкой отладки всех происходящих данных, explain и отладочная информация о всех критичных преобразованиях. Ajax компонент с возможностью настройки работы сайта по принципу веб-приложения. Автопостроитель стандартных форм и таблиц с множеством встроенных возможностей. Гибкий роутинг, валидация, решение многих рутинных задач.

Вы навсегда избавляетесь от головной боли со статикой, когда Jquery подключена дважды на странице, Jquery подключено после других зависимых скриптов и из-за этого они не работают.

Вы получаете единство стандартов построения структуры, когда по URL можно сразу найти модуль в котором произошла ошибка, или нужно внести правки. Вам больше не нужно гадать "админка блога" находится в модели "админки", или в модели "блога". Вы также с легкостью можете перемещать раздел из одного уровня иерархии в другой, не думая о целостности системы

MVC модуль тесно взаимодействует с другими модулями, Ajax, Debug, Tables, Fom, Render.

Таблицы и формы целиком завязаны на Bootstrap 3 и Bootstrap 4 (с поддержкой MDB), но могут быть преобразованы в любой другой CSS фреймворк.

Создано при помощи сервиса Core CMS