Junior Структура проекта Рекомендуется

Composer в проекте Битрикс

Интеграция Composer в Битриксе настраивается через секцию composer в конфигурационном файле .settings.php. Сам composer.json и папку пакетов vendor рекомендуется размещать выше корня сайта (DOCUMENT_ROOT), чтобы исключить публичный доступ к исходным кодам сторонних библиотек по HTTP.

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

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

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

  • 1
    Настройка composer.json
  • 2
    Автозагрузка классов
  • 3
    Интеграция с ядром Битрикс

Материалы

Официальная документация

Проверь себя

После деплоя на новый сервер сайт падает с фатальной ошибкой про vendor/autoload.php. Что произошло?

В .settings.php указан composer.config_path, а vendor не развернули: ядро делает require_once vendor/autoload.php рядом с composer.json без проверки существования. В деплой нужен composer install, а vendor вне Git.

Почему composer.json не стоит класть в корень сайта или в /bitrix?

В корне vendor окажется доступен по HTTP, а /bitrix принадлежит обновлениям. Документация рекомендует путь вне DOCUMENT_ROOT, например /home/bitrix/, либо /local/composer/ с закрытым доступом.

Зачем подключать composer-bx.json через merge-plugin, если проект и так работает?

Это зависимости самого ядра. Без них не заработают возможности, которые на Composer опираются: ORM-аннотации и CLI. Подключение через merge-plugin держит их в одном vendor с вашими библиотеками.

Класс из вашего модуля не находится, хотя он в vendor через PSR-4 вашего же composer.json. Где искать причину?

В порядке загрузки: ядро подключает vendor/autoload.php само, но классы модуля ищет через Loader::registerNamespace() после includeModule(). Либо регистрируйте namespace модуля в ядре, либо не смешивайте автозагрузку модуля с composer.

Не сходится?

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

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

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

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

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

на связи

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

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

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

Войти