D7 Bitrix — это новое ядро Битрикс, которое было создано для замены старого ядра.
D7 Bitrix является новым ядром разработки, которое было введено в версии Bitrix CMS 14.0. Оно имеет ряд отличий от старого ядра:
Новое ядро было создано для улучшения производительности и безопасности сайта. Bitrix D7 предоставляет новые методы для работы с ядром, которые заменяют старые функции. Кроме того, в D7 используется новая документация, которая позволяет лучше понимать работу ядра и упрощает разработку на Битрикс.
Основные отличия D7 Bitrix и старого ядра заключаются в следующем:
- В D7 используются новые методы для работы с ядром, которые заменяют старые функции. Например, вместо CModule для подключения модулей нужно использовать BitrixMainLoader.
- В D7 устранены проблемы безопасности и улучшена производительность сайта.
- В D7 для работы со ссылками в ядре есть отдельный класс: BitrixMainWebUri.
- В D7 изобрели класс BitrixMainHttpRequest для избавления от глобальных переменных в коде.
- В D7 при удалении используется массив-фильтр.
- В D7 документация появилась только недавно, поэтому для ознакомления с новым ядром нужно держать руку на пульсе событий: читать исходники, форумы, блоги, общаться с техподдержкой, изучать официальные видеокурсы.
В целом, использование нового ядра D7 Bitrix имеет следующие преимущества:
- D7 Bitrix использует современный подход к разработке на основе компонентов, в то время как старое ядро работает на основе модулей.
- D7 Bitrix использует новый синтаксис, основанный на пространствах имен и классах, что упрощает написание и поддержку кода.
- D7 Bitrix поддерживает новые технологии, такие как Composer, PSR и Symfony Components, что дает возможность использовать сторонние библиотеки и компоненты.
- D7 Bitrix имеет более высокую производительность и масштабируемость, что позволяет обрабатывать большой трафик и объем данных.
- D7 Bitrix имеет более эффективную систему кеширования и оптимизации запросов, что может привести к улучшению производительности сайта.
- D7 Bitrix имеет ряд новых функций и возможностей, таких как поддержка REST API, улучшенный механизм работы с событиями, и другие.
Однако, использование нового ядра D7 Bitrix также имеет некоторые недостатки:
- Новое ядро несовместимо со старым кодом, поэтому при переходе на новое ядро может потребоваться значительное время и усилия для переписывания кода.
- Новое ядро требует более высокого уровня знаний программирования, поэтому может быть сложно для новичков.
Вот несколько примеров различий между старым ядром Bitrix и ядром D7:
- Подключение стилей и скриптов:
- Старое ядро:
CMain::AddHeadScript - Ядро D7:
Bitrix\Main\Page\Asset::addJs
- Старое ядро:
- Работа с GET- и POST-параметрами страницы:
- Старое ядро:
Bitrix\Main\HttpRequest::get,Bitrix\Main\HttpRequest::getPost - Ядро D7:
Bitrix\Main\HttpRequest::getQuery,Bitrix\Main\HttpRequest::getCookie
- Старое ядро:
- Работа с кешированием:
- Старое ядро:
CPHPCache::StartDataCache,CPHPCache::InitCache,CPHPCache::GetVars,CPHPCache::EndDataCache - Ядро D7:
Bitrix\Main\Data\Cache::startDataCache,Bitrix\Main\Data\Cache::initCache,Bitrix\Main\Data\Cache::getVars,Bitrix\Main\Data\Cache::endDataCache
- Старое ядро:
- Работа с событиями:
- Старое ядро:
RegisterModuleDependences,UnRegisterModuleDependences,GetModuleEvents - Ядро D7:
Bitrix\Main\EventManager::addEventHandler,Bitrix\Main\EventManager::removeEventHandler,Bitrix\Main\EventManager::findEventHandlers
- Старое ядро:
- Работа с исключениями:
- Старое ядро:
CMain::ThrowException,CMain::ResetException,CMain::GetException - Ядро D7:
Bitrix\Main\SystemException
- Старое ядро:
- Подключение модулей:
- Старое ядро:
CModule::IncludeModule - Ядро D7:
Bitrix\Main\Loader::includeModule
- Старое ядро:
- Работа с языковыми файлами:
- Старое ядро:
IncludeModuleLangFile - Ядро D7:
Bitrix\Main\Localization\Loc::getMessage,Bitrix\Main\Localization\Loc::loadMessages
- Старое ядро:
- Работа с настройками модулей:
- Старое ядро:
COption::SetOptionInt,COption::SetOptionString,COption::GetOptionInt,COption::GetOptionString,COption::RemoveOption - Ядро D7:
Bitrix\Main\Config\Option::set,Bitrix\Main\Config\Option::get,Bitrix\Main\Config\Option::delete
- Старое ядро:
- Работа с файлами и директориями:
- Старое ядро: Нет аналога
- Ядро D7:
Bitrix\Main\IO\Directory::createDirectory,Bitrix\Main\IO\Directory::deleteDirectory,Bitrix\Main\IO\File::putFileContents
- Работа с почтовыми событиями:
- Старое ядро:
CEvent::SendImmediate - Ядро D7:
Bitrix\Main\Mail\Event::sendImmediate
- Старое ядро:
- Работа с куками:
- Старое ядро:
CMain::set_cookie,CMain::get_cookie - Ядро D7:
Bitrix\Main\HttpResponse::addCookie,Bitrix\Main\HttpRequest::getCookie
- Старое ядро:
- Работа с URL-параметрами страницы:
- Старое ядро:
CMain::GetCurPageParam - Ядро D7:
Bitrix\Main\Web\Uri::addParams,Bitrix\Main\Web\Uri::deleteParams,Bitrix\Main\Web\Uri::getUri
- Старое ядро:
- Работа с запросами к БД:
- Старое ядро:
CDatabase::Query - Ядро D7:
Bitrix\Main\DB\Connection::query
- Старое ядро:
- Работа с ORM-классами:
- Старое ядро: Нет аналога
- Ядро D7:
Bitrix\Main\UserTable,Bitrix\Main\FileTable,Bitrix\Main\GroupTable,Bitrix\Iblock\ElementTable,Bitrix\Iblock\IblockTable,Bitrix\Iblock\PropertyTable,Bitrix\Iblock\SectionTable
Это лишь некоторые из многих различий между ядрами. Они оба предлагают различные функции и методы для работы с Bitrix, и выбор между ними зависит от конкретных требований проекта.