9  /  328

Архитектура продукта

Просмотров: 6505 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 09.01.2017
Цитатник веб-разработчиков.

Степан Овчинников: Я убежден, что логика, представления и данные в Битриксе разделены самым разумным для задач CMS образом.

Архитектура MVC для Bitrix Framework

Шаблон MVC для Bitrix Framework:

  • Модель - это API;
  • Представление - это шаблоны;
  • Контроллер - это компонент.

Сплошные линии - прямые связи, пунктир - косвенные связи.

Немного теории

Структура

Bitrix Framework по уровням архитектуры структуру можно описать так:

Bitrix Framework:
  • модули
  • компоненты
  • файлы страниц
  • сайт:
  • шаблон
  • компоненты
  • страница
  • компонент:
  • вызов
  • параметры
  • шаблон
  • страница:
  • header
  • workarea
  • footer
  • Элементы структуры Bitrix Framework

    Модули

    Модуль - это модель данных и API для доступа к этим данным. Статические методы классов модуля могут вызываться в компонентах, шаблонах, других модулях. Также внутри контекста Bitrix Framework могут создаваться экземпляры классов.

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

    Внимание! На уровне ядра и модулей вмешательство в работу системы крайне не рекомендуется.

    Ядро продукта - файлы, находящиеся в директории /bitrix/modules/, а также файлы системных компонентов: /bitrix/components/bitrix/.

    Компоненты

    Компонент - это контроллер и представление для использования в публичном разделе. Компонент с помощью API одного или нескольких модулей манипулирует данными. Шаблон компонента (представление) выводит данные на страницу.

    Компоненты входят в состав модулей, но решают более узкую, частную задачу — например, выводят список новостей или товаров. Вносить свои изменения в код продукта рекомендуется на уровне компонентов. Программист может модифицировать их как угодно, использовать свои наработки и использовать неограниченное число шаблонов на каждый из компонентов. На одной странице сайта может располагаться несколько компонентов, кроме того, их можно включать в шаблон сайта. Таким образом, программист имеет возможность собрать сайт как конструктор, после чего доработать необходимые компоненты для получения желаемого результата как в функциональном, так и в визуальном плане.

    Чтобы работать с API нужно просто понять структуру компонентов Bitrix Framework.

    Примечание: Модуль - это набор каких-либо сущностей. Компонент - это то, что этими сущностями управляет.

    Посмотрим на примере модуля Инфоблоки. Этот модуль представляет собой совокупность таблиц в базе данных и php-классов, которые могут проводить какие-либо операции с данными из таблиц (например, CIBlockElement::GetList() или CIBlockElement::GetByID ()). Компонентом является уже, например, Новость детально, который имеет собственные настройки (показывать дату, картинку и т.д. и т.п.) и работает с методами php-классов модуля.

    Страница

    Страница представляет из себя PHP файл, состоящий из пролога, тела страницы (основной рабочей области) и эпилога. Формирование страницы сайта производится динамически на основе используемого шаблона страницы, данных выводимых компонентами и статической информации, размещенной на странице.

    Видео по теме:

    63
    Курсы разработаны в компании «1С-Битрикс»

    Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
    Развернуть комментарии