Поддержка Composer

Начальная настройка

Присутствие в корневой папке репозитория файла composer.json означает, что проект поддерживает менеджер зависимостей Composer. В ходе процесса сборки расширения (с помощью ext-ci), выполняется команда Composer ("composer --no-dev install"). Предполагается, что исходный код расширения находится в папке "src" (например, src/plib/library). Папка "vendor" должна быть создана в папке src/plib:

{
 "name": "plesk/ext-docker",
 "config": {
 "vendor-dir": "src/plib/vendor"
 }
}

Предлагаем добавить ее в файл .gitignore: /src/plib/vendor. Plesk автоматически включает файл vendor/autoloader.php каждого расширения. Смотрите полный пример: https://github.com/plesk/ext-composer-example.

Установка зависимостей
"require": {
 "docker-php/docker-php": "dev-master",
}
Выполнение скриптов после установки:
"scripts": {
 "post-update-cmd": [
 "bash generate.sh"
 ],
 "post-install-cmd": [
 "bash generate.sh"
 ]
}

Выполните команду "composer install" для установки зависимостей.

Пространства имен

В расширениях можно определять их собственные пространства имен (столько, сколько требуется):

"autoload": {
 "psr-4": {
 "PleskExt\\Docker\\": [
 "modules/docker/library/Docker/",
 "src/plib/library/Docker/"
 ]
 }
}

Ниже приводятся два возможных пути для пространства имен:

  • В Plesk: /usr/local/psa/admin/plib/modules/docker/library/Docker
  • В репозитории (для тестирования): ./src/plib/library/Docker

Никаких дополнительных действий не требуется.

Тестирование
"autoload-dev": {
 "psr-4": {
 "PleskExt\\Docker\\Tests\\": "tests/php/unit/",
 "PleskExt\\Docker\\TestHelpers\\": "tests/php/helper/"
 }
},
"require-dev": {
 "phpunit/phpunit": "^5.0"
},
"scripts": {
 "test": "phpunit"
}

Выполните команду "composer test" для запуска инструмента phpunit.

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.