在进行作曲家安装/更新时,是否可以在'vendor'目录下安装文件?
如果你不确定我的意思,请让我详细说明一下。
我有一个存储在/config/ini/<filename>.ini
中的配置文件和vendor
目录中的许多供应商模块。是否可以使用供应商软件包打包ini文件,以便在安装时将它们写入正确的目录?
理想情况下,我需要能够实现这一点,因为我有一个需要安装在各种不同应用程序中的身份验证供应商模块。能够这样做意味着私钥和其他共享配置选项可以与供应商模块一起存储(在私人仓库中)。
谢谢Mike
答案 0 :(得分:1)
是的,你可以。您需要创建附加到post-install-cmd
或post-update-cmd
的{{3}}。该脚本将查看包目录,选择问题并将其转储到正确的目录中。
它将围绕这些界限:
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));
}
}
}