2013-06-14 9 views
1

Возможно ли установить файл из каталога «vendor» при установке/обновлении композитора?файлы конфигурации компоновщика и сайта

Позвольте мне уточнить, если вы не уверены, что я имею в виду.

У меня есть файл конфигурации, который хранится в /config/ini/<filename>.ini и множество модулей поставщика в каталоге vendor. Можно ли упаковать файлы ini с пакетами поставщиков, чтобы при установке они были записаны в правильный каталог?

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

Thanks Mike

ответ

1

Да, вы можете. Вам необходимо создать script, который прикреплен к post-install-cmd или post-update-cmd. Этот скрипт будет выглядеть в каталогах пакетов, выбирать проблемы и выгружать их в правильном каталоге.

Это будет где-то вокруг этих линий:

use Composer\Script\CommandEvent; 

class ScriptHandler 
{ 
    public function bundleConfigs(CommandEvent $event) 
    { 
     $homeDir = $event->getComposer()->getConfig()->get('home'); 

     $vendorDir = $event->getComposer()->getConfig()->get('vendor-dir'); 
     $files = glob($vendorDir, '/*Module/config/*.ini'); 

     foreach ($files as $file) { 
      copy($file, $homeDir.'/config/ini/'.basename($file)); 
     } 
    } 
} 
+0

OK большое спасибо, извините за задержку ответа я был далеко на выходные. Я попытаюсь реализовать это в своем приложении – mic