1、配置文件格式
a、ThinkPHP支持多种格式的配置格式,但最终都是解析为PHP数组的方式。
b、我们的主要学习形式是数组
//项目配置文件
return [
// 默认模块名
'default_module' => 'index',
// 默认控制器名
'default_controller' => 'Index',
// 默认操作名
'default_action' => 'index',
//更多配置参数
//...
];
2、惯例配置->应用配置->扩展配置->场景配置->模块配置->动态配置
a、惯例配置(根目录下\thinkphp\convention.php)
b、应用配置(根目录下\application\config.php)
c、扩展配置(根目录下\application\database.php
根目录下\application\extra\用户可自定义配置文件)
其实就是对配置文件进行分目录的管理
读取扩展配置dump(config('扩展文件名.password'));
dump(config('database.password'));
自定义扩展配置
在扩展目录下(D:\phpStudy\WWW\tp5\application\extra\)新建对应的
打开文件写相关的配置
return [
'name' => 'Sync',
'sex' => 'girl'
];
读取配置
dump(config('litong'));
d、场景配置
解决问题(开发过程中可能不同环境下进行开发)
如何使用
修改应用(根目录下\application\config.php)
// 应用模式状态
'app_status' => ' Home',
在应用目录下新建(根目录下\application\Home.php)
在Home.php中书写相关配置
e、模块配置
解决问题(每一个模块,都有自己特有的配置)
如何使用(以前台模块为例)
在前台模块下(根目录下\application\index)新建config.php
打开配置文件书写
f、动态配置
// 系统函数
dump(config('name','hello'));
// 系统类
dump(\think\config::set('name','world'));
3、读取配置
//读取所有配置
dump(config());
// 系统函数
//打印一条信息
echo config('name');
//打印数组信息
dump(config('teacher'));
//打印数组中某个信息
dump(config('teacher.name'));
// 系统类
echo \think\Config::get('name');
dump(\think\Config::get('teacher'));
dump(\think\Config::get('teacher.name'));
4、系统类(根目录下\thinkphp\library\think)
config 设置和获取配置文件
5、系统方法(根目录下\thinkphp\helper.php)
controller 实例化控制器
action 调用模块的操作方法
config 设置和获取配置文件
dump 浏览器友好的输出变量
6、配置文件之间的加载顺序
优先级
动态配置->模块配置->场景配置->扩展配置->应用配置->管理配置
加载顺序
惯例配置->应用配置->扩展配置->场景配置->模块配置->动态配置
配置文件实现原理
后面加载的配置,把前面加载匹配同名覆盖
7、环境变量配置
tp5.0支持环境变量配置(不能使用中文)
设置环境变量配置
打开网站根目录,新建.env文件
书写环境配置
读取环境变量 系统类:dump(\think\env::get('name'));
数组配置dump(\think\env::get('database.name'));
如何使用环境配置
打开配置文件 use think\Env;
'app_debug' => Env::get('app_debug',false),
'app_status' => Env::get('app_status',''),