# Поддержка Composer

Расширения Plesk могут использовать Composer для установки зависимостей и управления ими. Подробную информацию о Composer можно найти на сайте: https://getcomposer.org/.

В этом разделе мы расскажем, как правильно настроить расширение, если оно использует менеджер зависимостей Composer.

Чтобы проиллюстрировать эту настройку, Plesk предлагает следующий пример проекта: https://github.com/plesk/ext-composer-example.

## Настройка

Основы настройки проекта для использования Composer описаны в разделе composer.json: Project Setup документации Composer. Для успешной интеграции с Plesk необходимы следующие параметры настройки.

Пример файла composer.json.

### Местоположение папки „vendor“

Рекомендуем разместить папку `vendor/` следующим образом:

    "config": {
        "vendor-dir": "src/plib/vendor"
    },

## Использование пространств имен

По умолчанию при разработке расширений мы требуем выполнения Соглашения по именованию классов, чтобы гарантировать их правильную работу с Plesk. Использование Composer позволяет использовать пространства имен вместо длинных имен, которые требует Соглашение по именованию классов.

Только убедитесь, что используемые пространства имен правильно загружены в `composer.json`.

    "autoload": {
            "psr-0": {
                    "Composer_": [
                            "modules/composer-example/library/",
                            "src/plib/library/"
                    ]
            },
            "psr-4": {
                    "PleskExt\\Composer\\": [
                             "modules/composer-example/library/Composer/",
                             "src/plib/library/Composer/"
                    ]
            }
    },

Более подробную информацию о пространствах имен можно найти в разделе документации Composer Autoloading.

## Упаковка расширения

Процесс упаковки расширения с помощью Composer требует добавления еще одного дополнительного шага по сравнению с обычным процессом.

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

Прежде всего, необходимо скачать и установить все необходимые зависимости. Для этого выполните следующую команду:

    composer --no-dev install

Примечание

Опция `--no-dev` используется, чтобы установить только библиотеки, необходимые для версии продукта. Все остальные зависимости и правила, используемые для разработки и тестирования, опускаются.

Более подробную информацию об установке зависимостей смотрите в разделе документации Composer Installing Dependencies.

### Создание пакета

Как только зависимости установлены, вы можете создать архив ZIP.