В развертывание Приложения Magento, использующие Magento Composer, сталкиваются с проблемой, заключающейся в том, что разные экземпляры одного и того же приложения (разработки, тестирования и т. д.) должны использовать разные локальные настройки (например, параметры подключения к базе данных).
До этого в другом проекте использовался подход, когда приложение (под контролем версий) содержит шаблоны файлов конфигурации с плейсхолдерами и скрипт, который заменяет плейсхолдеры локальными значениями и копирует результат в нужное место.
Локальные значения хранились отдельно для каждого экземпляра в месте развертывания.
Я хотел сохранить обычный подход к новому методу развертывания.
Найдите подходящий плагин на packagegist.org закончилось неудачей, поэтому и родилась идея сделать подобный плагин самостоятельно.
При создании плагина мне пришлось черпать информацию из разных источников — информация Сайта Composer для плагинов было недостаточно.
Что и привело к написанию этой статьи.
композитор.
json Основной файл пакета плагина выглядит примерно так:
Параметр имя заполнено по вашему вкусу, я понял praxigento/composer_plugin_templates .{ "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" } }
С параметрами тип И требовать все совершенно ясно - они должно быть и быть именно таким.
Параметр автозагрузка.
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 #программирование
-
Мини Nb205 От Toshiba
19 Oct, 24 -
Защита Вашего Компьютера
19 Oct, 24 -
Пластичность
19 Oct, 24 -
Синтаксический Анализ В Прологе
19 Oct, 24 -
Поворот Карт С Помощью Css3 И Jquery
19 Oct, 24 -
Про 112 И Как Это Работает Сейчас
19 Oct, 24