Базовый компонент, предназначенный для простой реализации MVC. Основные функции:
- Обработка ЧПУ "из коробки" (при условии, что параметры компонента правильно настроены при подключении)
- Обработка входящих запросов в MVC-стиле с применением кеширования по-умолчанию
- Обработка и кеширование AJAX в коде компонента
- Обработка ошибок, перехват исключений
- Возможность наследования
- Легковесность, для начала работы достаточно знать API битрикс.
- Быстрое создание REST-сервера
- Мастер создания компонента позволяет быстро и просто создать рабочий прототип компонента для последующей доработки.
Компонент в первую очередь ориентирован на работу с ЧПУ, хотя его можно использовать и не для ЧПУ-функционала.
Компонент напрямую не используется. От него необходимо наследоваться, создавая свой класс компонента.
composer require digitalwand/mvc.base
, или просто скопируйте модуль вручную. Учтановите как обычный модуль Битрикс из маркетплейса.
После установки модуля в разделе "Настройки"->"Настройки продукта"->"Список мастеров" появится новый мастер "digitalwand:mvc - Мастер создания MVC-компонента". Запустите мастер и пройдите все шаги до конца:
- На первом шаге будет предложено ввести основные данные о компоненте, которые повлияют на название класса и название компонента в пользовательском интерфейса
- На втором шаге предлагается заполнить данные ЧПУ компонента. По этой информации будут автоматически сгенерирован файл .parameters.php, а так же функции и переменные класса-компонента. Поле "Переменные страницы (VARIABLES)" заполнять не обязательно, список переменных автоматически определится по данным поля "Шаблон ЧПУ страницы".
- После завершения мастера ищем в /local/components/ новый компонент. Модифицируем код класса под свои нужды, или оставляем как есть.
- Создаём новую страницу в публичной части сайта. Добавляем на страницу компонент. В настройках компонента включаем режим ЧПУ, сохраняем
- Пробуем перейти по урлам, указанным в настройках компонента. видим, что всё работает :-)
Небольшая "таблица соответствий" между сущностями битрикса, элементами данного класса, и терминами MVC.
- Контроллер - класс компонента. Компонент в целом стоит считать контроллером.
- Action (действие) - функция, которую выполняет контроллер, при переходе пользователя по определённому урлу.
- Роутинг - определение какое действие какого контроллера должно быть запущено при переходе по урлу.