一、配置文件的格式:支持多种配置格式,但最终都会转化成数组
return [
// 应用命名空间
'app_namespace' => 'app',
// 应用调试模式
'app_debug' => true,
// 应用Trace
'app_trace' => true,
// 应用模式状态
'app_status' => ''
];
二、配置形式
1.惯例配置
- 惯例配置目录(项目\thinkphp\convention.php)
- 注意:一般不要修改惯例配置
2.应用配置
- 应用配置目录(项目\application\config.php)
3.扩展配置
- 扩展配置
其实就是对配置文件进行分目录的管理 - 扩展目录
项目\application\database.php
项目\application\extra\用户自定义配置文件 读取database扩展配置
//读取database中的扩展项 dump(config('database.database')); //读取所有的database扩展 dump(config('database'));
自定义扩展配置
- 在扩展目录(项目\application\extra)下新建user.php
- 打开文件书写配置
<?php return [ "name"=>"xiaoli", "age"=>15 ]; ?>
读取自定义扩展配置
// 读取用户自定义 dump(config('user')); dump(config('user.name')); // 读取扩展配置 public function getkuozhan(){ // 读取database扩展 dump(config('database.database')); dump(config('database')); echo "<hr>"; // 读取用户自定义 dump(config('user')); dump(config('user.name')); }
4.场景配置(用于切换数据库配置文件)
- 解决问题
开发过程中可能在不同的环境下开发 - 如何使用
1.修改应用配置(项目\application\config.php)
‘app_status’=>’home’,
2.在应用目录下新建(项目\application)新建对应home.php
3.在home.php中书写相关配置
5.模块配置
- 解决问题
每一个模块,都由自己的特有的配置 - 如何使用(以前台模块为例)
1.在前台模块下(项目\application\index)新建config.php
2.打开配置文件书写
6.动态配置
系统方法
//config(参数1,参数2); config('name','php开发');
系统类
\think\Config::set('name','WEB前端'); use \think\Config; Config::set('name','小程序开发');
三、读取配置文件
1.通过系统类
\\如果配置项存在 直接输出 不存在返回null
echo \think\Config::get('name');
dump(\think\Config::get('lover'));
dump(\think\Config::get('lover.name'));
2.通过系统方法
echo config('name');
dump(config('lover'));
dump(config('lover.name'));
\\读取所有
config();
3.使用use
use \think\Config;
echo Config::get('name');
dump(Config::get('lover'));
dump(Config::get('lover.name'));
// 读取convention.php文件中的配置信息
public function getConfig(){
// 方法一:通过系统方法读取配置
echo config("name");
// 方法二:通过系统类读取配置
// 如果配置项存在直接输出,不存在返回null
echo \think\Config::get("name");
var_dump(\think\Config::get("agg"));
// 方法三:使用use
echo Config::get('name');
}
四、系统类(项目\thinkphp\library\think)使用时 类::方法
Config 设置和获取配置文件
五、系统方法(项目\thinkphp\helper.php)直接使用
controller 实例化控制器
action 调用模块的操作方法
config 设置和获取配置
dump 浏览器友好的输出变量
六、配置文件之间的加载顺序
1.优先级
动态配置>模块配置>场景配置>扩展配置>应用配置>惯例配置
2.加载顺序
惯例配置->应用配置->扩展配置->场景配置->模块配置->动态配置
3.配置实现原理
后面加载的数据,对前面的数据进行同名覆盖
七、环境变量配置
- TP5.0支持环境变量配置
设置环境变量配置
a.打开网站根目录(项目)新建.env
b.书写环境配置name=tiantian age=18 sex=nan app_debug=true [database] type=mysql root=root password=123
注意:不能使用汉字
读取环境配置
a.命名空间dump(\think\Env::get('name')); dump(\think\Env::get('abc','不存在'));
b.使用use
use \think\Evn; dump(Evn::get('name')); dump(Env::get('database')); //null读取不到整个数组 dump(Env::get('database.type'));
如何使用
打开配置文件use \think\Env; return [ // 应用调试模式 'app_debug' => Env::get('app_debug',false) ];