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, и выбор между ними зависит от конкретных требований проекта.