如何在 laravel 中以编程方式即时设置 .env 值 [英] How to set .env values in laravel programmatically on the fly

查看:37
本文介绍了如何在 laravel 中以编程方式即时设置 .env 值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个自定义 CMS,我在 Laravel 中从头开始编写,并希望在用户设置并想要设置后从控制器设置 env 值,即数据库详细信息、邮件详细信息、常规配置等让用户可以灵活地使用我正在制作的 GUI 随时更改它们.

所以我的问题是,当我需要控制器时,如何将用户收到的值写入 .env 文件.

在旅途中构建 .env 文件是个好主意还是有其他方法?

提前致谢.

解决方案

由于 Laravel 使用配置文件来访问和存储 .env 数据,您可以使用 config 动态设置这些数据() 方法:

config(['database.connections.mysql.host' => '127.0.0.1']);

要获取此数据,请使用 config():

config('database.connections.mysql.host')

<块引用>

要在运行时设置配置值,请将数组传递给 config 帮助程序

https://laravel.com/docs/5.3/configuration#accessing-配置值

I have a custom CMS that I am writing from scratch in Laravel and want to set env values i.e. database details, mailer details, general configuration, etc from controller once the user sets up and want to give user the flexibility to change them on the go using the GUI that I am making.

So my question is how do I write the values received from user to the .env file as an when I need from the controller.

And is it a good idea to build the .env file on the go or is there any other way around it?

Thanks in advance.

解决方案

Since Laravel uses config files to access and store .env data, you can set this data on the fly with config() method:

config(['database.connections.mysql.host' => '127.0.0.1']);

To get this data use config():

config('database.connections.mysql.host')

To set configuration values at runtime, pass an array to the config helper

https://laravel.com/docs/5.3/configuration#accessing-configuration-values

这篇关于如何在 laravel 中以编程方式即时设置 .env 值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆