我有一个我想要包装到Laravel包中的库。
我的库使用两个配置:一些非敏感设置的公共config.php
和敏感凭据的.env
私人配置。
我想为最终用户vendor:publish
我的配置。对于公众config.php
似乎很好,但如何以Laravel友好的方式发布我的.env
?我没有找到任何办法vendor:publish
。
答案 0 :(得分:3)
应用程序的.env
文件主要用于将敏感信息保存在配置文件和其他经常被提交到源代码管理的资源之外。它不打算以任何方式发布。
您可以做的是创建一个单独的配置文件,其中预设了一些合理的默认值,同时允许用户覆盖它们。例如:
// my-config.php
return [
'user_model => env('MY_USER_MODEL', App\User::class),
...
];
如果需要,他们可以实现自己的用户模型或省略在自己的env文件中设置它并默认为您指定的实现。
您会在提供角色,权限,租赁等的软件包中经常看到这种方法。