Создание Плагина Для Php Composer

В развертывание Приложения Magento, использующие Magento Composer, сталкиваются с проблемой, заключающейся в том, что разные экземпляры одного и того же приложения (разработки, тестирования и т. д.) должны использовать разные локальные настройки (например, параметры подключения к базе данных).

До этого в другом проекте использовался подход, когда приложение (под контролем версий) содержит шаблоны файлов конфигурации с плейсхолдерами и скрипт, который заменяет плейсхолдеры локальными значениями и копирует результат в нужное место.

Локальные значения хранились отдельно для каждого экземпляра в месте развертывания.

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

Найдите подходящий плагин на packagegist.org закончилось неудачей, поэтому и родилась идея сделать подобный плагин самостоятельно.

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

Что и привело к написанию этой статьи.



композитор.

json

Основной файл пакета плагина выглядит примерно так:
  
   

{ "name": "praxigento/composer_plugin_templates", "type": "composer-plugin", "require": { "composer-plugin-api": "1.0.0" }, "autoload": { "psr-4": { "\\Praxigento\\Composer\\Plugin\\Templates\\": "src/" } }, "extra": { "class": "\\Praxigento\\Composer\\Plugin\\Templates\\" }, "scripts": { "test": "phpunit" } }

Параметр имя заполнено по вашему вкусу, я понял praxigento/composer_plugin_templates .

С параметрами тип И требовать все совершенно ясно - они должно быть и быть именно таким.

Параметр автозагрузка.

psr-4 определяет настройки автозагрузки классов плагина в соответствии с ПСР-4 (рекомендуется использовать этот стандарт, потому что.

ПСР-0 прекращено 21 октября 2014 г.

).

Согласно этой настройке наши исходники располагаются в подкаталоге .

/источник/ .

Параметр экстра.

класс определяет основной класс плагина, который загружается Composer (или набор классов, если значение параметра является массивом).

Параметр скрипты.

тест позволяет запускать тестирование плагинов из командной строки: " $ тест композитора ".



Вход

Класс, указанный в экстра.

класс , является точкой входа Composer в наш плагин.

В соответствии с требования Класс композитора должен реализовывать интерфейс Композитор\Плагин\Интерфейс плагина .



namespace Praxigento\Composer\Plugin\Templates; use Composer\Composer; use Composer\IO\IOInterface; use Composer\Plugin\PluginInterface; class Main implements PluginInterface {

Теги: #php #composer-plugin #php #программирование

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.