Thinkphp5中使用.env模拟本地环境变量,让配置更优雅!

简介: Thinkphp5中使用.env模拟本地环境变量,让配置更优雅!

自从thinkphp5发布以来,可以说越来越优雅了,竟然支持.env配置文件啦!想必熟悉那个以优雅著称的某框架的同学一定不陌生。


支持多种配置格式

thinkphp5支持的配置类型包括.ini、.xml、.json 、.yaml和 .php。



那么我们的.env就是采用ini方式的配置格式。用于在开发过程中模拟环境变量配置(该文件建议在服务器部署的时候忽略)。


配置.env

在项目根目录(不是application目录!!!)创建.env文件,配置格式例如:

APP_DEBUG =  true

APP_TRACE =  true

[database]

hostname =  127.0.0.1

hostport =  3306

username =  root

password =  123456

database =  youpinhui

[rediscache]

prefix = fl_

expire =  7200

host =  127.0.0.1

port =  6379

password =  905507

[redissession]

prefix = zhensoft

expire =  3600*4

host =  127.0.0.1

port =  6379

password =  905507

这样我们就可以使用Env类来读取配置:

获取环境变量 如果不存在则使用默认值root

Env::get('database.username','root');

当然你也可以使用助手函数:

env('database.username', 'root')

环境变量的获取不区分大小写环境变量中设置的APP_DEBUG和APP_TRACE参数会自动生效(优先于应用的配置文件),其它参数则必须通过Env::get方法才能读取。

使用.env里的配置

在config/database.php中:


use \think\Env;

return [

   // ……

   // 服务器地址

   'hostname' => env('database.hostname', '127.0.0.1'),

   // 数据库名

   'database' => env('database.database', 'youpinhui'),

   // 用户名

   'username' => env('database.username', 'root'),

   // 密码

   'password' => env('database.password', '123456'),

   // 端口

   'hostport' => env('database.hostport', '3306'),

];

其他配置,同样可以这样配置和使用。

最后

这样本地的开发环境获取.env的链接字符串,在部署线上生产环境的时候去掉.env,比如在使用svn提交到仓库的时候吧.env设置忽略,这样就能很优雅的发布代码到生产环境了。

有了.env 文件,再也不用每次去改config里的配置啦!


相关文章
|
2月前
|
API
Vite 中环境变量的配置方法
【10月更文挑战第10天】 Vite 中环境变量的配置方法
458 2
|
4月前
|
Python
[python]从环境变量和配置文件中获取配置参数
[python]从环境变量和配置文件中获取配置参数
|
4月前
|
Python
Python 代码从 `.env` 文件中读取环境变量
这篇文章介绍了如何在Python项目中使用`python-dotenv`库从`.env`文件读取环境变量的详细步骤,包括安装库、创建`.env`文件、在代码中加载和读取环境变量。
|
5月前
|
开发工具
环境变量,环境变量就是在操作系统中记录的一些关键性信息,以辅助系统运行,env,echo $PATH可以取出环境变量,全局变量的使用方法是定义,什么时候用,什么时候取,export MYNAME=it
环境变量,环境变量就是在操作系统中记录的一些关键性信息,以辅助系统运行,env,echo $PATH可以取出环境变量,全局变量的使用方法是定义,什么时候用,什么时候取,export MYNAME=it
|
5月前
|
Java Linux Shell
配置系统PATH环境变量
配置系统PATH环境变量
|
7月前
|
JavaScript Unix Linux
nodejs设置环境变量
nodejs设置环境变量
php案例:$_ENV的数据怎么样才能显示出来.$_ENV的简单运用
php案例:$_ENV的数据怎么样才能显示出来.$_ENV的简单运用
php案例:$_ENV的数据怎么样才能显示出来.$_ENV的简单运用
|
Java Linux 开发工具
关于Linux环境下的环境变量问题(以Java环境变量配置为例)
关于Linux环境下的环境变量问题(以Java环境变量配置为例)
115 0
|
测试技术 数据库
如何用nest中对环境变量等文件进行配置
如何用nest中对环境变量等文件进行配置
|
Shell Linux Perl
10.2.3 环境变量的功能
10.2.3 环境变量的功能
102 0