Если у Вас просто один большой репозиторий и Вы не планируете переиспользовать его части, то composer-config-plugin ни к чему, advanced шабон уже предоставляет удобный и привычный способ сборки конфига.
Но если вы хотите переиспользовать Ваш модуль в разных проектах, план такой:
создать расширение содержащее этот модуль, подробнее об этом в документации
добавить необходимые конфиги, например: src/config/params.php, scr/config/common.php, src/config/web.php, ...
Всё. Плагин готов. Теперь чтобы использовать его в проекте надо:
подключить плагин composer'ом:
"require": {
"me/my-plugin": "*@dev"
}
использовать конфиг собранный composer-config-plugin'ом:
$config = require hiqdev\composer\config\Builder::path('web');
(new yii\web\Application($config))->run();
учитывая что в Вашем случае не весь конфиг будет собран composer-config-plugin'ом Вам может понадобиться смержиться с уже имеющимся конфигом, приблизительно так:
Всем угодили. Но это другой уровень организации кода, перпендикулярный расширению.
Модуль — это единица кода, класс. А расширение — это код выделенный в composer-пакет.
Расширение может содержать модули, а может не содержать. И т.д.
И в чем разница между копипастом настроек "плагина" и расширения?
Плагин — это расширение + конфигурация необходимая для его работы.
Composer-config-plugin собирает (мержит) конфиги всех плагинов избавляя от необходимости их копировать.
Уточните, пожалуйста, от чего? Я, похоже, что-то пропустил.
Всё же очень рекомендую ознакомиться со статьёй по ссылке в предисловии.
Пример такого плагина (с модулем) — yii2-module-pages
Если у Вас просто один большой репозиторий и Вы не планируете переиспользовать его части, то composer-config-plugin ни к чему, advanced шабон уже предоставляет удобный и привычный способ сборки конфига.
Но если вы хотите переиспользовать Ваш модуль в разных проектах, план такой:
src/config/params.php
,scr/config/common.php
,src/config/web.php
, ...composer.json
:Всё. Плагин готов. Теперь чтобы использовать его в проекте надо:
учитывая что в Вашем случае не весь конфиг будет собран composer-config-plugin'ом Вам может понадобиться смержиться с уже имеющимся конфигом, приблизительно так:
Всем угодили. Но это другой уровень организации кода, перпендикулярный расширению.
Модуль — это единица кода, класс. А расширение — это код выделенный в composer-пакет.
Расширение может содержать модули, а может не содержать. И т.д.
Плагин — это расширение + конфигурация необходимая для его работы.
Composer-config-plugin собирает (мержит) конфиги всех плагинов избавляя от необходимости их копировать.
Можно и так, это не меняет сути описанного в статье.
Прекращать совершенно не планируем!
Ресурсов он не потребляет, а сертификаты теперь бесплатно дают.