+7 495 008 8452 пн.-пт. 10:00 – 17:00
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Ядро D7


Цитатник веб-разработчиков.

Антон Долганин: D7 упрощает работу, значительно. Можно забыть про богомерзкое копирование осточертевших getlist из модуля в модуль. В общем, все низкоуровневое убрали под капот - круто, спасибо.
Цель разработки - создание нового программного ядра на новом технологическом уровне с избавлением от "наслоений" устаревших технологий.

Принцип совместимости, от которого компания "1С-Битрикс" не имеет права отказаться, обязывал выполнять большой объём работ, не направленных непосредственно на развитие Bitrix Framework. Это прямо влияло на скорость и качество разработки самой платформы, и косвенно влияло на распространение продуктов компании на рынке.

По сути новое ядро - это новая идеология разработки. При этом в продукте продолжает работать весь старый API. И добавляется новый API для разработки в новом стиле. Постепенно, старый API должен стать чем-то типа адаптера, для совместимости. А вся логика с соответствующим рефакторингом должна переехать в новое ядро.

Внимание! Перед началом разработки убедитесь что в выбранном вами модуле есть классы и методы нового ядра. Проверить это можно по наличию описания в документации по D7.

Технические требования

Минимальные технические требования для продукта с версии 18.5.400 (с ядром D7):

  • PHP версии 7.1.
  • MySQL версии 5.6.

Основные отличия от старого ядра

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


Содержание главы:



Назад в раздел

Подписаться на новые материалы раздела:












CAPTCHA