Расширения 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.