【问题标题】:composer and site configuration files作曲家和站点配置文件
【发布时间】:2013-07-07 23:50:17
【问题描述】:

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

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

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

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

谢谢迈克

【问题讨论】:

    标签: composer-php packagist


    【解决方案1】:

    是的,你可以。您需要创建一个附加到post-install-cmdpost-update-cmdscript。该脚本将在包目录中查找,选择问题并将它们转储到正确的目录中。

    它会在这些线附近的某个地方:

    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));
            }
        }
    }
    

    【讨论】:

    • 好的,非常感谢,对于我周末外出的延迟回复感到抱歉。我将尝试将其实现到我的应用程序中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 2017-09-13
    • 2021-03-08
    • 2021-08-07
    • 2015-07-04
    • 2022-08-11
    • 2017-10-17
    相关资源
    最近更新 更多