Войти

Что вас интересует?

Установка Composer на 1С Битрикс

Composer - это пакетный менеджер уровня приложений для языка программирования PHP, который предоставляет средства по управлению зависимостями в PHP-приложении.

Он понадобится вам, если вы захотите воспользоваться такими преимуществами, как аннотация ORM классов и в целом интерфейсом командной строки CLI. Если вы уже используете composer в своем проекте на 1С-Битрикс, мы подготовили готовый рецепт интеграции с нашей конфигурацией зависимостей.

Прежде всего, вам нужен установленный composer. Простая инструкция по установке есть на официальном сайте.

Далее в примерах мы будем исходить из того, что composer установлен глобально и вызывается лаконичной командой:

$ composer -V
Composer version 1.6.5 2018-05-04 11:44:59

Установка зависимостей

  1. Вы еще не используете composer в проекте

  2. Устанавливаем зависимости из нашего bitrix/composer-bx.json:

    $ cd bitrix
    $ COMPOSER=composer-bx.json composer install

    После этого появится папка bitrix/vendor, в которую будут установлены необходимые библиотеки. Если вы хотите задать другое расположение этой директории, вам понадобится создать свой composer.json - смотрите второй вариант установки зависимостей.

  3. Вам нужна своя конфигурация composer.json

  4. По умолчанию система ожидает увидеть ваш файл composer.json в папке bitrix, но мы рекомендуем разместить его где-либо за пределами DOCUMENT_ROOT (чтобы он не был доступен публично). В этом случае нужно указать путь до файла в .settings.php, чтобы его конфигурация могла быть использована в продукте.

    Файл .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/to/bitrix/ вам нужно указать реальный путь до папки bitrix.

    К этому вы можете добавить свои зависимости и настройки. Например, чтобы явно задать путь до папки vendor (по умолчанию она будет там же, где файл composer.json), используйте директиву "vendor-dir".

    Файл composer.json:

    {
        "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-команд он будет подключен автоматически.

Комментрии
Комементариев нет, будьте первыми....
Оставить комментарий
Пожалуйста, введите ваше Имя.
Пожалуйста, введите ваш Email.
Пожалуйста, напишите комментарий.