1. Архитектура Битрикс24: файловая структура, папка local и стандарты кодирования
Архитектура Битрикс24: файловая структура, папка local и стандарты кодирования
Добро пожаловать в курс «Разработка и кастомизация модулей в Битрикс24 (Коробка)». Мы начинаем погружение в мир профессиональной разработки на платформе «1С-Битрикс». Коробочная версия (Self-hosted) отличается от облачной тем, что предоставляет разработчику полный доступ к исходному коду продукта. Это открывает безграничные возможности для кастомизации, но также накладывает большую ответственность.
Первый шаг к грамотной разработке — понимание того, как устроена система изнутри. В этой статье мы разберем файловую структуру, узнаем, почему нельзя редактировать ядро, и изучим стандарты, которые позволят вашему коду работать стабильно годами.
Корневая файловая структура
Когда вы открываете проект Битрикс24 через FTP или SSH, вы видите набор папок и файлов в корне сайта. Понимание назначения каждой директории критически важно для безопасности и обновляемости проекта.
!Структура корневой директории сайта на 1С-Битрикс
Рассмотрим основные элементы:
/bitrix — это «сердце» и «мозг» системы. Здесь находится ядро продукта, системные модули, компоненты и шаблоны по умолчанию. /upload — папка для хранения загружаемых файлов. Сюда попадают картинки товаров, аватарки пользователей, документы из задач и файлы, загруженные через визуальный редактор. Обычно эту папку исключают из системы контроля версий (Git), так как ее содержимое меняется динамически в процессе работы портала./local — папка для разработчиков. Именно здесь будет происходить вся магия кастомизации. Если этой папки нет в корне, её необходимо создать вручную.index.php — точка входа на главную страницу портала..htaccess — файл конфигурации веб-сервера Apache (или его аналог для Nginx), отвечающий за перенаправление запросов и настройки безопасности.Публичная часть
Все файлы и папки, лежащие в корне сайта (кроме служебных bitrix, local, upload), относятся к публичной части. Это те страницы, которые видит пользователь в браузере. Например, папка /company/ отвечает за раздел «Компания», а /crm/ — за CRM-систему.
Структура публичной части формирует URL-адреса сайта. Если вы создадите папку /test/ и положите в неё index.php, эта страница будет доступна по адресу ваш-портал.рф/test/.
Ядро системы и правило «Не трогай /bitrix»
Самое важное правило разработки на Битрикс24 звучит так:
> Никогда, ни при каких обстоятельствах не изменяйте файлы внутри папки /bitrix.
Почему это так важно?
* Обновления системы. Платформа 1С-Битрикс регулярно обновляется. Процесс обновления работает просто: система скачивает новые версии файлов и перезаписывает старые в папке /bitrix. Если вы внесли правки в системный модуль, первое же обновление сотрет ваш труд.
* Техническая поддержка. Если вы модифицировали ядро, вендор (1С-Битрикс) имеет право отказать вам в технической поддержке до тех пор, пока целостность ядра не будет восстановлена.
* Безопасность. Изменения в ядре могут создать уязвимости, которые не будут закрыты стандартными патчами безопасности.
В папке /bitrix находятся:
* /bitrix/modules — системные модули (main, iblock, crm, socialnetwork и др.).
* /bitrix/components — стандартные компоненты.
* /bitrix/templates — стандартные шаблоны сайта.
* /bitrix/admin — административная панель.
Папка /local: территория разработчика
Для безопасной кастомизации в архитектуре Битрикс24 предусмотрен механизм приоритетности. Система устроена так, что при подключении ресурсов она сначала ищет их в папке /local, и только если не находит — обращается к /bitrix.
Папка /local должна зеркально повторять структуру системной папки. Вот основные подпапки, которые вы будете использовать:
1. /local/modules
Здесь размещаются ваши собственные модули. В рамках этого курса мы будем работать именно с этой директорией. Создание модуля позволяет инкапсулировать логику, установщики БД и события в единую структуру.2. /local/components
Сюда помещаются кастомные компоненты. Компонент — это логический блок, отвечающий за вывод информации (например, список новостей) или выполнение действия (например, форма обратной связи). Вы можете создавать свои компоненты в пространстве имен, отличном отbitrix (например, mycompany:news.list).3. /local/templates
Здесь хранятся шаблоны сайта и шаблоны компонентов. Если вы хотите изменить внешний вид стандартного компонента, вы копируете его шаблон в эту папку и правите его там. Система автоматически подхватит шаблон из/local, оставив оригинал в /bitrix нетронутым.4. /local/php_interface
Одна из самых важных директорий для глобальных настроек. Здесь обычно располагают:* init.php — файл, который подключается при каждой загрузке любой страницы сайта. Это идеальное место для подключения обработчиков событий (event handlers), автозагрузки классов (autoload) и объявления глобальных констант.
* dbconn.php — параметры соединения с базой данных (хотя физически он часто лежит в /bitrix/php_interface, его копия или настройки могут влиять на среду).
!Приоритет загрузки файлов из папки local
Стандарты кодирования в Битрикс24
Битрикс24 — система с долгой историей. В ней сосуществуют два архитектурных подхода:
C (например, CUser, CIBlockElement). Используется глобальная переменная _SERVER['DOCUMENT_ROOT'] . '/local/vendor/autoload.php')) {// Когда добавляется пользователь, вызываем метод нашего класса
$eventManager->addEventHandler(
'main',
'OnAfterUserAdd',
['\My\Module\UserHandler', 'onAdd']
);
`
Резюме
) — за логику. неприкосновенна. Любые изменения в ней будут уничтожены при обновлении., которая имеет приоритет над /bitrix.В следующей статье мы перейдем от теории к практике и создадим каркас вашего первого модуля, используя изученную структуру.