1

我正在开发一个安装依赖项列表的 Laravel 包。依赖项有自己的配置文件,安装后要发布。

我们需要的是在发布它们之前/之后通过我们的包自动(避免手动)修改这些依赖项的配置文件并将它们放在app/config中。

我找到了一些解决方案,例如使用mergeConfigFrom()Package 的服务提供商的注册方法。但它不会修改文件内容本身,只是加载合并的配置。我们需要通过我们开发的包修改配置文件的内容,这样我们就不需要在安装包后手动更改配置文件。

例如,我们安装Laravel Horizo​​n作为我们包的依赖项。Horizo​​n 发布一个名为app/confighorizon.php的配置文件。我们需要在发布该配置文件之前或之后自动修改app/config/horizo​​n.php的一些值。

任何帮助都感激不尽。谢谢 :)

4

1 回答 1

0

目前这是不可能的。Illuminate\Foundation\Console\VendorPublishCommand在 laravel 框架源码中查看。

  1. 最好的方法是通过在同一个文件上发布来完全替换horizon.php包中的配置。
  2. 或者,您可以编写自定义命令将此数据注入horizon.php
  3. 你可以在 laravel 框架中做一个 PR 来允许这个。并希望他们接受你的 PR。
于 2020-05-20T19:49:36.213 回答