【问题标题】:Laravel: Update .env file by publishing a third-party packageLaravel:通过发布第三方包来更新 .env 文件
【发布时间】:2018-07-22 14:48:30
【问题描述】:

我有一个库,我想将它包装到 Laravel 包中。

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

我想vendor:publish 我的最终用户配置。公开config.php 似乎很好,但如何以 Laravel 友好的方式发布我的.envvendor:publish 找不到任何方法。

【问题讨论】:

  • 你不应该那样做。要求包用户将信息添加到.env 文件。
  • @AlexeyMezenin 说了什么
  • @AlexeyMezenin 所以,没有办法自动完成吗?只是想让用户更轻松。

标签: php laravel package publish phpdotenv


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2017-08-01
    • 2021-04-05
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 2020-04-29
    • 2016-02-12
    • 2011-06-03
    • 1970-01-01
    相关资源
    最近更新 更多