Roadmap изучения 1С-Битрикс
Структурированный план обучения от основ до экспертного уровня
Введение в Битрикс
Знакомство с платформой 1С-Битрикс, её экосистемой и сравнение с другими CMS и фреймворками.
Что такое 1С-Битрикс
- Обзор платформы
- Редакции продукта (Старт, Стандарт, Малый бизнес, Бизнес, Энтерпрайз)
- Лицензирование
Экосистема Битрикс
- 1С-Битрикс: Управление сайтом
- Битрикс24
- 1С-Битрикс: Мобильное приложение
- +1 ещё
Отличия от других CMS
- Сравнение с WordPress, Drupal, Joomla
- Преимущества и недостатки
Отличия от фреймворков
- Сравнение с Laravel, Symfony
- Когда выбрать Битрикс
Установка и настройка
Подготовка окружения и различные способы установки 1С-Битрикс.
Требования к окружению
- PHP (версии, расширения)
- MySQL / MariaDB
- Веб-сервер (Apache, Nginx)
- +1 ещё
Способы установки
- Bitrix VM (виртуальная машина)
- Docker-образы
- Ручная установка на LAMP/LEMP
- +1 ещё
Установка дистрибутива
- Скачивание дистрибутива
- Мастер установки
- Первичная настройка
Установка готового решения
- Маркетплейс 1С-Битрикс
- Установка решения через админку
- Активация лицензии
Структура проекта
Организация файлов и директорий в проекте 1С-Битрикс.
Корневые директории
- /bitrix — ядро системы
- /local — кастомный код
- /upload — загруженные файлы
- +1 ещё
Структура /bitrix
- /bitrix/modules — системные модули
- /bitrix/components — системные компоненты
- /bitrix/templates — системные шаблоны
- +1 ещё
Структура /local
- /local/modules — кастомные модули
- /local/components — кастомные компоненты
- /local/templates — шаблоны сайта
- +3 ещё
Composer в Битрикс
- Настройка composer.json
- Автозагрузка классов
- Интеграция с ядром Битрикс
Основы фреймворка
Архитектура и базовые концепции Bitrix Framework.
Архитектура
- Ядро D7
- Модульная структура
- Слои приложения
Жизненный цикл запроса
- Инициализация ядра
- Обработка запроса
- Формирование ответа
Автозагрузка классов
- Стандарт PSR-4
- Регистрация namespace модуля
- Автозагрузчик Битрикс
Конфигурация ядра
- Файл .settings.php
- Файл dbconn.php
- Константы и настройки
Объект приложения и контекст
- \Bitrix\Main\Application
- \Bitrix\Main\Context
- Получение текущего пользователя, сайта
Service Locator
- Регистрация сервисов
- Получение сервисов
- Dependency Injection
Роутинг
Маршрутизация запросов в 1С-Битрикс.
Контроллеры
Контроллеры и обработка запросов в Bitrix Framework.
Базовые контроллеры
- \Bitrix\Main\Engine\Controller
- Структура контроллера
- Actions (действия)
Создание контроллера
- Размещение в модуле
- Конфигурация действий
- Возвращаемые значения
Пре- и постфильтры
- ActionFilter
- Проверка прав доступа
- Валидация входных данных
- +1 ещё
Request и Response
- \Bitrix\Main\HttpRequest
- \Bitrix\Main\HttpResponse
- Получение параметров запроса
- +1 ещё
Результаты и ошибки
- \Bitrix\Main\Result
- \Bitrix\Main\Error
- \Bitrix\Main\ErrorCollection
- +1 ещё
Компоненты
Компонентная архитектура 1С-Битрикс.
Концепция компонентов
- Что такое компонент
- Простые и комплексные компоненты
- Жизненный цикл компонента
Структура компонента
- class.php — ООП-логика
- component.php — процедурная логика
- .description.php — описание
- +1 ещё
Шаблоны компонента
- template.php — основной шаблон
- result_modifier.php — модификация данных
- component_epilog.php — после шаблона
- +1 ещё
Создание компонента
- Размещение в /local/components
- Namespace компонента
- Наследование от CBitrixComponent
Кеширование компонента
- Настройка кеширования
- Теги кеша
- Инвалидация кеша
AJAX в компонентах
- Подключение AJAX
- Обработка AJAX-запросов
- Обновление данных без перезагрузки
База данных
Работа с базой данных в 1С-Битрикс.
Конфигурация подключения
- Настройки в .settings.php
- Несколько подключений
- Кодировка и коллация
Выполнение запросов
- \Bitrix\Main\DB\Connection
- Метод query()
- Подготовленные запросы
SqlHelper и Expression
- Экранирование значений
- Формирование условий
- SQL-выражения
Построитель запросов
- \Bitrix\Main\Entity\Query
- SELECT, WHERE, ORDER, LIMIT
- JOIN и подзапросы
Транзакции
- Начало и завершение транзакции
- Откат транзакции
- Вложенные транзакции
Отладка запросов (SQL Tracker)
- Включение трекера
- Анализ запросов
- Поиск узких мест
NoSQL
- Memcached
- Redis
- Интеграция с Битрикс
ORM (D7)
Object-Relational Mapping в Bitrix D7.
Концепция ORM
- DataManager
- Entity (сущность)
- Table-класс
Создание сущности
- Описание полей
- Типы полей
- Валидаторы
Операции с сущностями
- getList() — выборка
- getById() — получение по ID
- add() — добавление
- +2 ещё
Объекты (EO_*)
- Entity Objects
- Работа с объектами
- Сохранение изменений
Коллекции
- EO_*_Collection
- Итерация по коллекции
- Массовые операции
Отношения между сущностями
- Reference (ссылка)
- OneToMany (один-ко-многим)
- ManyToMany (многие-ко-многим)
Выборка данных
- Фильтрация
- Сортировка
- Группировка
- +1 ещё
Построитель запросов ORM
- Query Builder
- Сложные условия
- Runtime-поля
Инфоблоки
Работа с информационными блоками — основной сущностью для хранения данных.
Концепция инфоблоков
- Типы инфоблоков
- Инфоблоки и разделы
- Элементы инфоблоков
Создание инфоблока
- Через админку
- Программное создание
- Настройка свойств
Свойства инфоблоков
- Типы свойств
- Множественные свойства
- Привязки (к элементам, разделам, справочникам)
API инфоблоков (старое)
- CIBlock
- CIBlockElement
- CIBlockSection
API инфоблоков (D7)
- \Bitrix\Iblock\Iblock
- \Bitrix\Iblock\Elements
- ORM для инфоблоков
Highload-блоки
- Когда использовать
- Создание Highload-блока
- API Highload-блоков
Безопасность
Защита приложений на 1С-Битрикс.
Права доступа
- Группы пользователей
- Роли
- Уровни доступа
- +1 ещё
Защита от XSS
- Экранирование вывода
- htmlspecialcharsEx()
- Content Security Policy
Защита от CSRF
- Sessid
- Проверка токена
- bitrix_sessid_post()
Защита от SQL-инъекций
- Параметризованные запросы
- Экранирование через SqlHelper
- ORM как защита
JWT
- Генерация токенов
- Валидация токенов
- Использование в API
Защищённые Cookie
- HttpOnly
- Secure
- SameSite
Sanitizer
- Очистка HTML
- Белые списки тегов
- Фильтрация атрибутов
Проактивная защита
- Веб-антивирус
- Защита сессий
- Контроль активности
Firewall
- Настройка правил
- Блокировка IP
- Логирование
CAPTCHA
- Стандартная CAPTCHA
- reCAPTCHA
- Интеграция в формы
Двухфакторная авторизация
- OTP
- Настройка
- Восстановление доступа
Производительность
Оптимизация производительности 1С-Битрикс.
Кеширование
- Управляемый кеш
- HTML-кеш компонентов
- Тегированный кеш
- +1 ещё
Инвалидация кеша
- Очистка по тегам
- Очистка по времени
- Программная очистка
Композитный сайт
- Принцип работы
- Статические области
- Динамические области
- +1 ещё
Оптимизация запросов
- Анализ через SQL Tracker
- Индексы
- EXPLAIN
- +1 ещё
Сессии
- Хранение сессий
- Hot/Cold режим
- Сессии в Redis/Memcached
Масштабирование
- Шардинг
- Репликация (Master-Slave)
- Кластеризация
Продвинутые возможности
Расширенные возможности Bitrix Framework.
События (Events)
- Регистрация обработчиков
- Системные события
- Кастомные события
- +1 ещё
Агенты
- Создание агента
- Периодические и однократные
- Отладка агентов
- +1 ещё
Очереди сообщений (Messenger)
- Настройка очередей
- Отправка сообщений
- Обработка сообщений
Расширения (Extensions)
- JS-расширения
- Регистрация расширения
- Зависимости
Консольные команды
- CLI в Битрикс
- Создание команды
- Аргументы и опции
Логирование
- Настройка логов
- Уровни логирования
- Ротация логов
Валидация
- Валидаторы ORM
- Кастомные валидаторы
- Сообщения об ошибках
Модули
Разработка собственных модулей.
Структура модуля
- include.php — точка входа
- install/index.php — установщик
- lib/ — классы модуля
- +1 ещё
Создание модуля
- Namespace и автозагрузка
- Регистрация модуля
- Зависимости от других модулей
Установка и удаление
- Метод DoInstall()
- Метод DoUninstall()
- Миграции базы данных
Административный интерфейс модуля
- Страницы настроек
- Права доступа
- Меню администратора
Инструменты разработки
Инструменты и практики разработки.
Деплой
Развёртывание Битрикс-проектов.
Подготовка к деплою
- Проверка конфигурации
- Оптимизация БД
- Очистка кеша
Способы деплоя
- FTP/SFTP (ручной)
- Git + SSH
- CI/CD (GitLab CI, GitHub Actions)
- +1 ещё
Хостинг
- 1С-Битрикс: Хостинг
- VPS/VDS
- Dedicated серверы
- +1 ещё
Резервное копирование
- Встроенное резервное копирование
- Облачное хранение
- Автоматизация бэкапов
Мониторинг
- Проверка сайта
- Мониторинг производительности
- Алерты
Интеграции
Интеграция с внешними системами.
Чек-лист по уровням
Чек-листы для самопроверки по уровням.
Junior Bitrix Developer
- Установка и настройка окружения
- Структура проекта Битрикс
- Работа с админкой
- +4 ещё
Middle Bitrix Developer
- ORM D7 (полный уровень)
- Создание компонентов
- Контроллеры и REST API
- +4 ещё
Senior Bitrix Developer
- Архитектура высоконагруженных проектов
- Композитный сайт
- Оптимизация производительности
- +4 ещё
Рекомендуемый порядок изучения
Оптимальный путь изучения 1С-Битрикс.
Этап 1: Основы (2-4 недели)
- Раздел 2 — Установка
- Раздел 3 — Структура проекта
- Раздел 10.1-10.4 — Инфоблоки (основы)
- +1 ещё
Этап 2: Разработка (1-2 месяца)
- Раздел 4 — Основы фреймворка
- Раздел 9 — ORM
- Раздел 7.4-7.6 — Компоненты (создание)
- +1 ещё
Этап 3: Углубление (2-3 месяца)
- Раздел 8 — База данных
- Раздел 11 — Безопасность
- Раздел 12 — Производительность
- +1 ещё
Этап 4: Мастерство (3+ месяцев)
- Раздел 13 — Продвинутые возможности
- Раздел 12.6 — Масштабирование
- Раздел 16 — Деплой
- +1 ещё
Как использовать этот roadmap?
Начните с основ
Изучите обязательные темы (жёлтые) в порядке следования разделов
Углубляйтесь
Добавляйте рекомендуемые темы (синие) по мере освоения материала
Специализируйтесь
Опциональные темы (серые) изучайте по необходимости для вашего проекта