【问题标题】:Is it a good idea to edit .env dynamically in Laravel 5?在 Laravel 5 中动态编辑 .env 是个好主意吗?
【发布时间】:2016-12-05 00:31:51
【问题描述】:

我正在构建一个管理面板,因此我需要通过前端界面为最终用户配置我的 Laravel 5 应用程序的一些核心设置(如 smtp 设置等)。

我最初的想法是在缓存的同时使用数据库作为设置存储(以避免每次访问配置值时都发出数据库调用)。但是,似乎Facades are loaded after config files,因此下面的代码不起作用:

<?php
// app/config/custom_settings.php

return [
    'key' => Cache::get('key');
];

因此,我正在考虑以编程方式将用户的配置直接写入 .env 文件。这是一个好主意,还是将来会变成令人头疼的问题?

【问题讨论】:

  • 您应该将它们作为平面文件存储在storage/app 中。您可以将它们读入 Config、覆盖值或编写配置处理程序。处理程序可以为您提供一些优势,例如验证设置。

标签: php laravel laravel-5 laravel-facade phpdotenv


【解决方案1】:

为什么不将其存储在数据库中、用户表或其他相关表中?

我认为 .env 文件用于全局设置(数据库、邮件配置、缓存配置...),但它没有考虑存储最终用户配置。

【讨论】:

  • 我将更新问题以解决这些问题。但是,当我正在构建管理面板时,我需要让用户能够修改特定于应用程序的配置,例如 smtp 和其他配置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-29
  • 2011-05-14
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
  • 2016-08-05
相关资源
最近更新 更多