Laravel: 通过发布第三方包更新.env文件

Laravel: Update .env file by publishing a third-party package

我有一个要打包到 Laravel 包中的库。

我的库使用两个配置:public config.php 用于一些非敏感设置,.env 私有配置用于敏感凭据。

我想 vendor:publish 我的最终用户配置。 public config.php 似乎没问题,但如何以 Laravel 友好的方式发布我的 .envvendor:publish.

我找不到任何方法来做到这一点

应用程序的 .env 文件主要用于将敏感信息排除在配置文件和其他经常提交给源代码管理的资源之外。它不打算以任何方式发布。

您可以做的是创建一个单独的配置文件,其中预设了一些合理的默认值,同时允许用户覆盖它们。例如:

// my-config.php
return [
    'user_model => env('MY_USER_MODEL', App\User::class),
    ...
];

如果需要,他们可以实现自己的用户模型或省略在自己的 env 文件中设置它并默认为您指定的实现。

您会在提供角色、权限、租赁等的包中经常看到这种方法