Платформа Bitrix Framework созданная компанией «1С‑Битрикс» является одним из наиболее распространенных решений для разработки веб‑приложений. Это набор готовых модулей и компонентов, из которых разработчики могут создавать свои продукты. Платформа написана на PHP, что требует от разработчиков хорошего владения этим языком программирования.
В этой статье мы рассмотрим начало работы с этой платформой, но перед этим поговорим об основных правилах разработки в Bitrix Framework, соблюдение которых позволит вам избежать многих ошибок.
Основные правила Bitrix Framework
Для начала соберите статистику использования функционала, который вам необходимо настроить. Так, если вы хотите внести какие‑либо изменения в работу сайта, сначала сформулируйте свои потребности на бумаге, не начинайте исправлять код сразу. После этого еще раз просмотрите все случаи, когда на веб‑сайте используется блок, который вы хотите изменить. Убедитесь, что все логично, нет каких‑то явных противоречий. Очень часто некоторые, казалось бы, незначительные изменения негативно влияют на связанные с ними функции, которые были пропущены или забыты.
После того, как вы формализовали свои требования для внесения изменений, проверьте, на какие объекты распространяются эти требования. Только после этого подумайте, какие средства следует использовать для достижения ваших целей.
Вносить изменения можно также различными способами. Лучше всего вносить их, отредактировав шаблон самого веб‑сайта и CSS‑файлы. Однако, если это невозможно, то перейдите к редактированию шаблонов компонентов и CSS‑файлов или измените вывод данных с помощью файлов result_modifier.php и component_epilog.php.
Кастомизация компонентов или разработка собственного компонента или модуля — это последний из возможных вариантов для достижения нестандартной функциональности.
Не рекомендуется добавлять HTML‑код в PHP‑код для изменения представления данных. Логика и представление разделены в компонентах версии 2.0. Логика — это компонент как таковой, а представление — это шаблон отображения компонента. Шаблон значительно пр��ще, чем компонент в целом. Нет необходимости изменять логику компонента, чтобы изменить параметры его вывода данных. Для одной и той же логики может быть несколько представлений, включая представления, которые зависят от шаблона текущего веб‑сайта. Представление (выходной шаблон) может быть написано на любом языке шаблонов, который может быть подключен из PHP. Например, шаблоны могут быть написаны на PHP, Smarty, XSL и так далее
Отдельные компоненты и шаблоны должны располагаться в их собственном пространстве имен. При настройке стандартных компонентов и шаблонов или разработке своих, размещайте их в собственном пространстве имен. Все изменения, внесенные в пространство bitrix, будут устранены после обновления системы.
Не обращайтесь к базе данных напрямую при работе с компонентами. Концепция работы с продуктом предполагает работу с данными через функцию API. Структура данных может меняться в каждой версии, но функции сохраняют обратную совместимость. Разработчики настоятельно не рекомендуем использовать прямые запросы к базе данных, поскольку это может нарушить целостность данных и привести к неработоспособности веб‑сайта. Именно по этой причине структура таблиц не раскрывается.
Также, не следует исправлять код ядра так в этом случае владелец лицензии теряет право обращаться в службу технической поддержки, также внесенные изменения будут устранены после обновления системы. Наконец, изменение ядра может привести к некорректной работе системы, поскольку ядро — это сложная система, которая требует учета работы всех модулей.
Соблюдение этих несложных прав позволит обеспечить стабильную работу вашего кода на платформе Bitrix.
Командная строка
В процессе разработки часто возникают ситуации, когда необходимо быстро выполнить определенный код, вызывая API‑функции Bitrix Framework без создания новых страниц на сайте. В этом случае доступен простой и удобный инструмент — командная строка PHP. Он позволяет запускать произвольный PHP‑код с помощью вызовов функций.
Этот инструмент находится в панели управления сайта по следующему пути: Настройки > Инструменты > командная строка PHP и имеет адрес: /bitrix/admin/php_command_line.php.
Вот как выглядит результат выполнения кода с использованием функций класса CUser основных модулей:

Используя вкладку с «+», мы можем создавать новые вкладки и сохранять в них наиболее часто используемый PHP‑код. Чтобы переименовать вкладку, достаточно воспользоваться //title:*** в начале вашего кода.
Собственный модуль
Если вам необходимо расширить функциональность системы под специфические требования, то в платформе «Битрикс» имеется возможность использовать собственные модули. Стандартные функции могут не всегда отвечать уникальным потребностям компании, и в этом случае разработка индивидуальных модулей позволяет решить такие задачи, как автоматизация специфических бизнес-процессов, интеграция внешних сервисов и систем, создание собственных отч��тов и многого другого.
Собственные модули могут быть локальные — устанавливаются непосредственно на сервер и имеют полный доступ к API платформы. Такие модули подходят для сложных интеграций с внешними системами, создания новых разделов в административной панели, работы с базой данных напрямую. Также модули могут представлять собой приложения REST API — они работают через REST API и могут быть размещены на внешних серверах.
Например, если нам необходимо обеспечить обработку заявок в рамках бизнес процессов компании, с объединением данных из разных источников в общую аналитическую базу, то мы можем создать собственный модуль, реализующий эту функциональность.
Интерфейс разработки
Разработку в Bitrix можно реализовать несколькими способами. В рамках данной статьи мы рассмотрим использование командного интерфейса, а также composer. Так как данный интерфейс реализован на основе библиотеки symfony/console, перед началом использования вам необходимо установить эти зависимости через composer.
В случае, если исполняемый файл находится в папке bitrix:
$ cd bitrix $ php bitrix.php
Для удобства создайте символьную ссылку без постфикса php:
$ chmod +x bitrix.php $ ln -s bitrix.php битрикс $ ./bitrix
Еще один вариант это использование composer. Composer — это пакетный менеджер уровня приложений для языка программирования PHP, который предлагает инструменты для управления зависимостями в PHP‑приложении.
Приведенное ниже описание будет основано на том факте, что composer установлен глобально и вызывается простой командой:
$ composer –V
Если вы еще не используете composer в проекте, то вам необходимо установить зависимости из файла bitrix/composer‑bx.json:
$ cd bitrix $ COMPOSER=composer-bx.json установка composer
После этого создается папка bitrix/vendor с установленными необходимыми библиотеками. Если вы хотите указать другое расположение для этого каталога, вам нужно создать свой собственный composer.json — посмотрите второй вариант настройки зависимостей ниже.
Что делать, в случае, если вам нужна собственная конфигурация composer.json? По умолчанию система ожидает увидеть ваш файл composer.json в папке bitrix, но мы рекомендуем расположить его где‑нибудь за пределами DOCUMENT_ROOT (чтобы он не был общедоступен). В этом случае укажите путь к файлу в.settings.php.
<?php return [ 'composer' => [ 'value' => ['config_path' => '/path/to/your/composer.json'] ], // ... ]; //...
Внутри подключаем наш файл с зависимостями bitrix/composer‑bx.json через плагин Composer Merge Plugin. Как минимум, ваш composer.json должен содержать вызов плагина и нашу конфигурацию подключения.
Файл composer.json (может быть скопирован из bitrix/composer.json.example):
{ "require": { "wikimedia/composer-merge-plugin": "dev-master" }, "extra": { "merge-plugin": { "require": [ "/path/to/bitrix/composer-bx.json" ] } } }
Вместо /path/к/bitrix/ вам нужно указать реальный путь к папке bitrix.
Также, вы можете добавить свои зависимости и настройки. Например, чтобы напрямую указать путь к папке поставщика (по умолчанию она будет находиться в том же расположении, что и файл composer.json), используйте команду «vendor‑dir».
{ "require": { "wikimedia/composer-merge-plugin": "dev-master" }, "config": { "vendor-dir": "../../vendor" }, "extra": { "merge-plugin": { "require": [ "/path/to/bitrix/composer-bx.json" ] } } }
После описания вашей конфигурации установите библиотеки:
$ composer install
Теперь вы можете использовать преимущества composer в своем проекте, подключив файл vendor/autoload.php. При использовании CLI‑команд он подключается автоматически.
Заключение
В этой статье мы рассмотрели основные моменты, связанные с началом работы в Bitrix Framework. Следование представленным в начале статьи правилам позволит разработчикам избежать множества проблем, связанных с поиском ошибок и отладкой кода.
Также, использование различных инструментов разработки позволяет выбрать наиболее подходящее средство для создания собственного веб приложения.
Если вы работаете с Bitrix Framework или только начинаете осваивать экосистему Bitrix24, обратите внимание на курс «Разработчик Битрикс24».
Перед стартом курса вы можете посетить два открытых урока:
10 ноября в 20:00 — «Локальные приложения и веб‑хуки при разработке в Битрикс24»
Записаться19 ноября в 20:00 — «События в Битрикс24: Путеводитель по изменениям»
Записаться

А тем, кто настроен на серьезное системное обучение, рекомендуем рассмотреть Подписку — выбираете курсы под свои задачи, экономите на обучении, получаете профессиональный рост. Узнать подробнее
