thinkphp6读取配置文件中环境变量定义的方法
env配置定义及获取
1.其中两项配置app_debug、config_ext只在.env生效 参见开启调试模式及代码跟踪器
2.除了一级配置外,配置参数名严格区分大小写,建议是使用小写定义配置参数的规范。
配置定义格式:
APP_DEBUG = true
;数据库配置项
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = test
USERNAME = username
PASSWORD = password
[LANG]
default_lang = zh-cn
;数组形式
ARR[]=1
ARR[]=2
;数组形式
[TEST]
PATHINFO_PATH[] = ORIG_PATH_INFO
PATHINFO_PATH[] = REDIRECT_PATH_INFO
PATHINFO_PATH[] = REDIRECT_URL
env( 环境变量定义)的获取
首先要引入env的命名空间
use think\facade\Env;
//然后在控制器类的方法中调用Env的get方法
public function getenv()
{
//获取环境变量 如果不存在则使用默认值qipa250
echo 'qipa250_lang='.Env::get('lang.qipa250_lang','qipa250');
echo '<br>';
echo 'default_lang='.Env::get('lang.default_lang');
}
浏览器中访问,打印结果如下:
因为qipa250_lang变量不存在,所以就使用默认的值qipa250
default_lang的值存在则得到配置文件中的值
配置文件中使用环境变量
可以直接在配置文件中使用环境变量进行本地环境和服务器的自动配置
<?php
use think\facade\Env;
return [
// 数据库类型
'type' => Env::get('database.type', 'mysql'),
// 服务器地址
'hostname' => Env::get('database.hostname', '127.0.0.1'),
// 数据库名
'database' => Env::get('database.database', 'tp6'),
// 用户名
'username' => Env::get('database.username', 'root'),
// 密码
'password' => Env::get('database.password', '123456'),
// 端口
'hostport' => Env::get('database.hostport', '3306'),
配置文件的配置获取
首先需要在你的类文件中引入Config类,然后就可以使用下面的方法读取某个配置参数的值
use think\facade\Config; // 获取配置先把命名空间拿进来
读取一级配置的所有参数(每个配置文件都是独立的一级配置)
Config::get('app');
Config::get('route');
读取单个配置参数
Config::get('app.app_name');
Config::get('route.url_domain_root');
读取数组配置(理论上支持无限级配置参数读取)
Config::get('database.default.host');
判断是否存在某个设置参数:
Config::has('template');
Config::has('route.route_rule_merge');
参数批量设置
Config类不再支持动态设置某个配置参数,但可以支持批量设置更新配置参数。
// 批量设置参数
Config::set(['name1' => 'value1', 'name2' => 'value2'], 'config');
// 获取配置
Config::get('config');

本文介绍ThinkPHP6框架中配置文件的使用方法,包括环境变量定义与获取、配置参数读取及批量设置等核心内容。
745

被折叠的 条评论
为什么被折叠?



