digitalwand/mvc.base

Base Bitrix component implementing MVC pattern

Installs: 83

Dependents: 0

Suggesters: 0

Security: 0

Stars: 13

Watchers: 8

Forks: 5

Open Issues: 0

Type:bitrix-module

dev-master 2020-05-21 18:12 UTC

This package is not auto-updated.

Last update: 2024-03-16 16:30:58 UTC


README

Базовый компонент, предназначенный для простой реализации MVC. Основные функции:

  • Обработка ЧПУ "из коробки" (при условии, что параметры компонента правильно настроены при подключении)
  • Обработка входящих запросов в MVC-стиле с применением кеширования по-умолчанию
  • Обработка и кеширование AJAX в коде компонента
  • Обработка ошибок, перехват исключений
  • Возможность наследования
  • Легковесность, для начала работы достаточно знать API битрикс.
  • Быстрое создание REST-сервера
  • Мастер создания компонента позволяет быстро и просто создать рабочий прототип компонента для последующей доработки.

Компонент в первую очередь ориентирован на работу с ЧПУ, хотя его можно использовать и не для ЧПУ-функционала.

Компонент напрямую не используется. От него необходимо наследоваться, создавая свой класс компонента.

Установка

composer require digitalwand/mvc.base, или просто скопируйте модуль вручную. Учтановите как обычный модуль Битрикс из маркетплейса.

Использование

После установки модуля в разделе "Настройки"->"Настройки продукта"->"Список мастеров" появится новый мастер "digitalwand:mvc - Мастер создания MVC-компонента". Запустите мастер и пройдите все шаги до конца:

  • На первом шаге будет предложено ввести основные данные о компоненте, которые повлияют на название класса и название компонента в пользовательском интерфейса
  • На втором шаге предлагается заполнить данные ЧПУ компонента. По этой информации будут автоматически сгенерирован файл .parameters.php, а так же функции и переменные класса-компонента. Поле "Переменные страницы (VARIABLES)" заполнять не обязательно, список переменных автоматически определится по данным поля "Шаблон ЧПУ страницы".
  • После завершения мастера ищем в /local/components/ новый компонент. Модифицируем код класса под свои нужды, или оставляем как есть.
  • Создаём новую страницу в публичной части сайта. Добавляем на страницу компонент. В настройках компонента включаем режим ЧПУ, сохраняем
  • Пробуем перейти по урлам, указанным в настройках компонента. видим, что всё работает :-)

Основные понятия

Небольшая "таблица соответствий" между сущностями битрикса, элементами данного класса, и терминами MVC.

  • Контроллер - класс компонента. Компонент в целом стоит считать контроллером.
  • Action (действие) - функция, которую выполняет контроллер, при переходе пользователя по определённому урлу.
  • Роутинг - определение какое действие какого контроллера должно быть запущено при переходе по урлу.

Документация и примеры