# 第3章 TP5.0 配置
=============================================================
## 1、配置文件格式
a) ThinkPHP支持多種格式的配置格式,但最終都是解析為PHP數組的方式。
b) 我們主要的學習形式就是數組
return [
'name'=>'',
'age'=>'',
];
## 2、配置的形式
### 1、慣例配置
a、慣例配置目錄
C:\AppServ\www\tp5\thinkphp\convention.php
b、注意:
大家一般不要修改慣例配置
### 2、應用配置
a、應用配置目錄
C:\AppServ\www\tp5\application\config.php
### 3、擴展配置
a、擴展配置
其實就是對配置文件進行分目錄的管理
b、擴展配置目錄
# C:\AppServ\www\tp5\application\database.php
# C:\AppServ\www\tp5\application\extra\用戶可以自定義配置文件
c、讀取database擴展配置
# 讀取databse中的擴展項
dump(config('擴展文件名.password'));
dump(config('database.password'));
# 讀取所有的database擴展
dump(config('database'));
d、自定義擴展配置
1、在 擴展目錄(C:\AppServ\www\tp5\application\extra)下 新建user.php
2、打開文件
<?php
return [
"name"=>"小郭",
"love"=>"作家",
"wai"=>"小四"
];
3、讀取自定義擴展配置
dump(config('user'));
dump(config('user.wai')
### 4、場景配置
a、解決問題
開發過程可能不同環境下進行開發
b、如何使用
1、修改應用配置(C:\AppServ\www\tp5\application\config.php)
'app_status' => 'home',
2、在應用目錄下新建(C:\AppServ\www\tp5\application) 新建對應home.php
3、在home.php 中書寫相關配置
### 5、模塊配置
a、解決問題
每一個模塊,都有自己特有的配置
b、如何使用(以前臺模塊為例)
1、在前臺模塊下(C:\AppServ\www\tp5\application\index)新建 config.php
2、打開配置文件書寫
<?php
return [
"index"=>"我是前臺配置"
];
### 6、動態配置
1、系統方法
// config(參數1,參數2);
config('name','PHP開發');
2、系統類
\think\Config::set('name','WEB前端');
use \think\Config;
Config::set('name','小程序開發');
## 3、讀取配置
###
### 1、通過系統類
# 如果配置項存在 直接輸出 不存在返回NULL
1、打印配置信息
echo \think\Config::get('name');
2、打印數組配置信息
echo \think\Config::get('teacher');
echo \think\Config::get('teacher.name');
### 2、通過系統方法
1、打印配置信息
echo config('name');
2、打印數組配置信息
dump(config('teacher'));
dump(config('teacher.name'));
3、讀取所有配置
dump(config());
### 3、使用use
1、打印配置信息
use \think\Config;
echo Config::get('kouhao');
2、打印數組配置信息
use \think\Config;
echo Config::get('teacher');
echo Config::get('teacher.name');
## 4、系統類(C:\AppServ\www\tp5\thinkphp\library\think)
Config 設置和獲取配置文件
## 5、系統方法(C:\AppServ\www\tp5\thinkphp\helper.php)
Controller 實例化控制器
action 調用模塊的操作方法
config 設置和獲取配置
dump 瀏覽器友好的變量輸出
## 6、配置文件之間的加載順序
### 1、優先級
動態配置>模塊配置>場景配置>擴展配置>應用配置>慣例配置
### 2、加載順序
慣例配置->應用配置->擴展配置->場景配置->模塊配置->動態配置
### 3、配置文件實現原理
$data=array(
"name"=>"慣例配置",
'a'=>'a'
);
$data1=array(
"name"=>'應用配置',
"b"=>'b'
);
# 后面加載的配置,把前面加載匹配同名覆蓋
dump(array_merge($data,$data1));
## 7、環境變量配置
### 1、TP5.0 支持環境變量配置
### 2、設置環境變量配置
a、打開網站根目錄(C:\AppServ\www\tp5) 新建.env
b、書寫環境配置
name=haoge
age=18
[database]
type=mysql
root=root
pass=123qweaasd
c、注意配置環境變量不能使用中文
### 3、讀取環境配置
a、命名空間
dump(\think\Env::get('name'));
dump(\think\Env::get('abc','不存在'));
# 讀取數組配置
# 不能讀取整個數組
dump(\think\Env::get('database.type'));
b、use 導入系統類
use \think\Env;
dump(Env::get('name'));
# 讀取數組配置
# 不能讀取整個數組
dump(Env::get('database.type'));
### 4、如何使用
打開配置文件
use \think\Env;
return [
// 應用調試模式
'app_debug' => Env::get('app_debug',false),
// 應用模式狀態
'app_status' => Env::get('app_status',''),
];