ГлавнаяБлогАрхитектура «D7»: модули, классы, жизненный цикл, презентация

Архитектура «D7»: модули, классы, жизненный цикл, презентация

Рамиль Юналиев
Рамиль Юналиев
E-Commerce Lead
7 января 2014 г.
1 мин чтения

Новое ядро «D7» (Bitrix Framework) — это переработанная архитектура 1С-Битрикс, которая приходит на смену устаревшему API на основе глобальных функций и классов типа CIBlock, CUser и т.д.

Ключевые концепции D7

Модули в D7 организованы как пространства имён PHP: \Bitrix\Main, \Bitrix\Iblock, \Bitrix\Sale и т.д. Каждый модуль — отдельный неймспейс.

Автозагрузка классов — D7 использует PSR-совместимую автозагрузку. Классы не нужно подключать вручную через require_once.

ORM — D7 включает собственный ORM на основе DataManager. Вместо прямых SQL-запросов и $DB->Query() используются классы-наследники \Bitrix\Main\Entity\DataManager.

Жизненный цикл запроса в D7:

  1. Loader::requireModule() — загрузка модуля
  2. Инициализация Application
  3. Роутинг и диспетчеризация
  4. Выполнение контроллера
  5. Рендер ответа

Отличия от старого API

| Старое ядро | D7 | |-------------|-----| | CUser::GetByID() | \Bitrix\Main\UserTable::getById() | | $DB->Query() | ORM / \Bitrix\Main\Application::getConnection() | | Глобальные функции | Статические методы классов | | AddEventHandler() | EventManager::getInstance()->addEventHandler() |

D7 и старое ядро сосуществуют в одном проекте — миграция постепенная, по модулям.