有没有好方法可以在网站后台修改config里面的值?

如题,有时候可能需要修改配置文件里的值,比如app里的name,或是mail里的各项配置等。
如果项目已经处于生产环境中,每次要修改这些值都会比较麻烦,因此使用网站后台修改会比较方便。
我能想到的方法有两种,不知道各位码友有没有优雅点的方法,例如可以直接修改文件中指定的键值

yin

config(['app.debug' => true]);

yzha5 回复 yin

这个是运行时设置配置值,那么写入文件的方法呢?

yin 回复 yzha5

那就不推荐这种修改config的模式了 , 可以考虑存储数据库 然后动态加载配置

jayin

只能临时修改,不能真正修改,不然一个项目配置项轻易改了那还得了,Config::set() 看看

jasester

这是我的配置,先保存到数据库没然后在写到文件里

$data = Config::where('conf_type', 'pt')->pluck( 'conf_content', 'conf_name')->all();
        $path = base_path() . '/config/web.php';
        $str = '<?php return ' . var_export($data, true) . ';';
        file_put_contents($path, $str);
调用
config('web.title');
yzha5 回复 jasester

其实我想到了一个笨方法,把所有config文件里的各项配置值使用env()代替,例如config/app.php中的name=env('APP_NAME','Laravel'),然后就是.env文件APP_NAME=项目名称。最后统一对.env文件进行读写操作。

canihelpyou

我是写个python脚本来修改

yzha5 回复 canihelpyou

不会python

假如_丶

你可以存到数据库中设置全局呗

RJustice

理论上文件的配置文件是一次性修改, 如果你需要频繁修改最好是设计成后台可配存数据库, 而不是去更改文件. 当然简单的方法就是使用config() 方法获取config文件内数组数据, 你再修改数据, 再保存覆盖文件就可以了