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

本文介绍了Thinkphp5如何使用.env文件进行本地环境变量配置,使得开发过程更加优雅。讲解了.env文件的创建位置、配置格式,并展示了如何在代码中通过Env类或助手函数读取配置,以及在不同环境中切换配置的方法。
摘要由CSDN通过智能技术生成

自从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&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ThinkPHP 5 ,可以通过在 `database.php` 配置文件的 `connections` 数组定义多个数据库连接来实现多库连接。例如: ```php return [ // 默认数据库连接 'default' => 'mysql', // 数据库连接列表 'connections' => [ 'mysql' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'database1', // 用户名 'username' => 'root', // 密码 'password' => '', // 端口 'hostport' => '', // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', ], 'oracle' => [ // 数据库类型 'type' => 'oracle', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'database2', // 用户名 'username' => 'root', // 密码 'password' => '', // 端口 'hostport' => '', // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', ], ], ]; ``` 然后在使用数据库时,可以通过指定数据库连接的方式来连接不同的数据库。例如: ```php // 使用 mysql 数据库连接查询 $users = Db::connect('mysql')->name('user')->select(); // 使用 oracle 数据库连接查询 $users = Db::connect('oracle')->name('user')->select(); ``` 需要注意的是,在使用多库连接时,如果需要使用事务操作,则需要在使用 `Db::startTrans()` 开始事务前,手动切换到对应的连接。例如: ```php // 开始 mysql 数据库连接的事务 Db::connect('mysql')->startTrans(); // 执行 mysql 数据库连接的操作 Db::connect('mysql')->name('user')->where('id', 1)->update(['name' => 'new name']); // 切换到 oracle 数据库连接 Db::connect('oracle')->startTrans(); // 执行 oracle 数据库连接的操作 Db::connect('oracle')->name('user')->where('id', 1)->update(['name' => 'new name']); // 提交事务 Db::commit(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

娃娃菜001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值