3.0 KiB
3.0 KiB
Серверная логика и php_interface (apelsincom)
Где на этом сайте выполняется серверный код помимо шаблонов. Короткий ответ: своей серверной логики в /local/ почти нет — это отличает проект от типового Битрикс-сайта.
Чего НЕТ (и это важно знать)
/local/php_interface/— пусто. Своегоinit.phpс обработчиками событий и агентами нет./local/components/— пусто. Своих компонентов нет.
Поэтому не ищите бизнес-логику в init.php — её там нет. Она размазана по трём местам:
- Шаблоны компонентов (
result_modifier.php,component_epilog.php) — см. Компоненты и шаблоны компонентов. - Модуль
richcode.api— вся API-логика вbitrix/modules/richcode.api/lib/— см. REST API (richcode.api). - Штатные механизмы Битрикса — импорт/экспорт, обмен, агенты.
Ядро: bitrix/php_interface
Это часть ядра, но пригодится:
| Файл | Назначение |
|---|---|
dbconn.php |
подключение к БД. Чувствительно (реквизиты) — не выносить в публичные бэкапы |
after_connect_d7.php |
SQL после коннекта: SET NAMES 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci' (отсюда вывод — MySQL 8) |
include/catalog_import/ |
раннеры импорта: CommerceML (1С), CSV, cron_frame.php |
include/catalog_export/ |
раннеры экспорта: Яндекс.Маркет (YML), Froogle, CSV, cron_frame.php |
Импорт/экспорт запускаются по расписанию (cron/агенты) — см. Интеграции (apelsincom) и Кэширование и обслуживание (apelsincom).
Конфигурация
bitrix/.settings.php(D7) иbitrix/.config.php— подключения, кэш, криптоключи. Чувствительно, значения в документации не приводятся.bitrix/license_key.php— лицензионный ключ.
[!tip] Если нужно добавить свою логику Делайте это по-битриксовому, не трогая ядро:
- обработчики событий — создать
local/php_interface/init.phpи регистрировать черезEventManager/AddEventHandler;- свои компоненты —
local/components/;- свои модули —
local/modules/. Так правки переживут обновление платформы.
См. также
- Компоненты и шаблоны компонентов
- REST API (richcode.api)
- Интеграции (apelsincom)