1

进行作曲家安装/更新时,是否可以从“供应商”目录中安装文件?

如果您不确定我的意思,让我再详细说明一下。

我有一个存储在目录中的配置文件/config/ini/<filename>.ini和许多供应商模块vendor。是否可以将 ini 文件与供应商包一起打包,以便在安装时将它们写入正确的目录?

理想情况下,我需要能够实现这一点,因为我有一个身份验证供应商模块,需要安装在各种不同的应用程序中。能够做到这一点意味着私钥和其他共享配置选项可以与供应商模块一起存储(在私有 repo ofc 中)。

谢谢迈克

4

1 回答 1

1

是的你可以。您需要创建一个附加到或的脚本。该脚本将在包目录中查找,选择问题并将它们转储到正确的目录中。post-install-cmdpost-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));
        }
    }
}
于 2013-06-15T10:34:15.497 回答