Ядро D7
Ядро D7
Принцип совместимости, от которого компания "1С-Битрикс" не имеет права отказаться, обязывал выполнять большой объём работ, не направленных непосредственно на развитие Bitrix Framework. Это прямо влияло на скорость и качество разработки самой платформы, и косвенно влияло на распространение продуктов компании на рынке.
D7 - основное программное ядро Bitrix Framework. Создано взамен начального на новом технологическом уровне с избавлением от "наслоений" устаревших технологий.
Ядро D7 является основным, однако не весь функционал старого ядра на данный момент перенесён в него. В продукте продолжает работать весь старый API. И добавляется новый API D7. Постепенно, старый API должен стать чем-то типа адаптера, для совместимости. А вся логика с соответствующим рефакторингом должна переехать в D7.
Внимание! Перед началом разработки убедитесь что в выбранном вами модуле есть классы и методы нового ядра.
Основные отличия D7 от старого ядра
- Базы данных
-
Поддерживаются базы данных: MySQL, MS SQL, Oracle, NoSQL
С 1 января 2017 года эти базы данных поддерживаются ограниченно: клиенты не могут скачивать обновления продукта платформы и воспользоваться возможностями новых версий продукта. . - Отказ от неэффективного драйвера MSSQL ODBC, поддерживается только native драйвер. - Используется ORM (построитель запросов) c noSQL. - ООП - Сильная связанность. Весь код, относящийся к какой-то определённой области должен быть сосредоточен в одном месте, в одном классе, в одном наборе классов. - Компоненты с ООП (class.php) – возможность писать более структурированный код компонента и возможность наследования. - Разработка - Единообразный код. Все одинаковые вызовы называются одинаково, имеют одинаковые наборы параметров, возвращают унифицированные данные. То есть GetList пользователей не отличается от GetList'а групп пользователей. - Поддержка пространств имен. - Новые единые правила форматирования кода с жёстким контролем на уровне разработки. - Отказ от глобальных переменных - Поддержка exceptions. - Поддержка новых типов: дата, время, файлы. Неформатированные данные заменяются классами с методами. Значения таких типов являются объектами с методами форматирования и т.п. - Библиотека классов. - Унифицированные события. Возможность модификации и интеграции при помощи обработчиков. - Автозагрузка (autoload). Все сущности системы находятся в заранее определённых местах, соответственно, поддерживается автозагрузка без каких-то дополнительных действий со стороны разработчика. - Специализированные обработчики (классы, сущности) для разных ситуаций – типы приложений (http, cli). - Отложенная загрузка языковых файлов. Файлы из папкок
/langне подключаются одновременно с подключением компонента, они загружаются при первом запросе языковой фразы. - Провайдеры объектов для основных операций (кеш, лог).