Чтобы закрепить знания, вот итоговый «Золотой стандарт» современного Битрикс-разработчика. Используйте его как чек-лист при Code Review.
1. Работа с базой данных
- ✅ Использовать: D7 ORM (DataManager, getList, fetchObject).
- ❌ Избегать: Прямых SQL-запросов ($DB->Query), старых классов (CIBlockElement::GetList — только для поддержки легаси).
- ✅ Связи: Использовать ReferenceField и runtime вместо запросов в цикле.
2. Компоненты
- ✅ Использовать: class.php, наследование от CBitrixComponent, configureActions для AJAX.
- ❌ Избегать: Логики в template.php, файла component.php в новых компонентах.
- ✅ AJAX: Использовать BX.ajax.runComponentAction и подписанные параметры.
3. Фронтенд
- ✅ Использовать: JS-расширения (config.php), CJSCore::Init, BX.ready, BX.UI компоненты.
- ❌ Избегать: Прямого подключения <script> в header.php, использования jQuery (где можно обойтись нативным BX).
4. Окружение и настройки
- ✅ Использовать: Application, Context, Request для доступа к глобальным данным. \Bitrix\Main\Config\Option для настроек.
- ❌ Избегать: Глобальных переменных $APPLICATION, $USER, $_POST, $_GET (внутри классов).
5. Отладка и Логирование
- ✅ Использовать: Bitrix\Main\Diag\Logger (PSR-3), исключения (try-catch), Монитор производительности.
- ❌ Избегать: AddMessage2Log (устарел), подавления ошибок через @.
6. Архитектура
- ✅ Использовать: Контроллеры для API и AJAX. Агенты на CRON. События через EventManager.
- ✅ Структура: Весь кастомный код только в /local/. Использование Composer для зависимостей.
Заключение:
Битрикс — это живая, развивающаяся экосистема. Ядро D7 превратило его из «CMS старой школы» в современный PHP-фреймворк.
Следование этим стандартам делает ваш код чистым, безопасным, быстрым и — самое главное — понятным для любого профессионального разработчика. Удачи в проектах!
best practices bitrix, стандарты разработки битрикс, D7 vs старое ядро, чек-лист разработчика, современные технологии битрикс, рефакторинг.