Junior Структура проекта Обязательно

php_interface, init.php и служебные файлы

Файл /local/php_interface/init.php подключается на каждом хите еще до старта пользовательской сессии и авторизации, поэтому его используют только для регистрации обработчиков событий и автозагрузки. Размещение в нем объемной бизнес-логики и вспомогательных классов приводит к замедлению отклика сайта и риску падения всей системы при любой синтаксической ошибке.

1 разработчик прошёл

Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.

Что нужно понимать

  • 1
    init.php: точка подключения проектного кода
  • 2
    Файлы, которые ядро подключает автоматически
  • 3
    dbconn.php, .settings.php и их место
  • 4
    Что нельзя класть в init.php

Материалы

Проверь себя

Создали /local/php_interface/init.php, и обработчики из /bitrix/php_interface/init.php перестали работать. Почему?

Ядро подключает init.php через getLocalPath(): если файл есть в /local, версия из /bitrix не подключается вовсе. Обработчики нужно перенести, а старый файл убрать, чтобы не путать следующего.

Почему в init.php нельзя читать $_SESSION и что делать, если данные сессии нужны для регистрации обработчика?

init.php выполняется до открытия сессии, переменная ещё недоступна. Читать сессию нужно внутри обработчика в момент события, а не при его регистрации.

Заказчик просит «выключатель» init.php через GET-параметр на случай ошибки. Чем это плохо?

Это ровно то, что документация запрещает: любой посетитель сможет отключить обработчики и защиту. Защита от ошибки — тестовый стенд и минимум кода в init.php, а логика в модуле.

Чем dbconn.php отличается от .settings.php, если подключение к базе есть в обоих?

dbconn.php — константы для старого ядра, подключается раньше всего; .settings.php — конфигурация D7. Ядро использует оба, и они должны совпадать; с main 24.100.0 оба могут лежать в /local.

Не сходится?

Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.

Знаете материал лучше?

Предложите ссылку: после проверки она появится в этом разделе.

Войти, чтобы предложить
Поделиться в Telegram
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти