【十天精品課堂系列】 主講:李炎恢
學(xué)習(xí)要點(diǎn):
1.開啟調(diào)試
2.配置文件
本節(jié)課我們來開啟一下系統(tǒng)的調(diào)試功能,以及簡單理解下框架配置信息。
一. 開啟調(diào)試
1. 在開發(fā)階段,我們建議開啟框架的調(diào)試模式;
2. 調(diào)試模式開啟后,會犧牲一些執(zhí)行效率,但大大提高了開發(fā)排錯(cuò)的能力;
3. 當(dāng)項(xiàng)目部署到生產(chǎn)環(huán)境時(shí),再關(guān)閉調(diào)試模式即可;
4. 安裝好的 TP6.0 默認(rèn)并沒有開啟調(diào)試,可以在域名后面胡亂輸入字符回車;
5. 此時(shí),頁面只會提示:“頁面錯(cuò)誤,請稍后再試~”,表示調(diào)試未開啟;
6. 通過命令行安裝的 TP6.0,會自動在根目錄生成一個(gè).example..env 文件;
7. 這個(gè).env 文件是環(huán)境配置文件,我們只要刪除前面的.example.即可生效;
8. 此時(shí),刷新頁面,右下角會出現(xiàn) Trace 調(diào)試小圖標(biāo),說明調(diào)試開啟了;
9. 查看.env 文件,打開調(diào)試的環(huán)境變量為 APP_DEBUG = true,false 關(guān)閉;
10. 那么,開啟調(diào)試模式有那些顯著的優(yōu)勢呢?
a. 記錄系統(tǒng)運(yùn)行流程的執(zhí)行過程;
b. 展示錯(cuò)誤和調(diào)試信息,并開啟日志記錄;
c. 模版修改可以及時(shí)生效(不會被緩存干擾);
d. 啟動右下角的 Trace 調(diào)試功能,更加強(qiáng)大;
e. 發(fā)生異常時(shí),也會顯示異常信息;
11. 當(dāng)然,還有一種模式,就是關(guān)閉調(diào)試的時(shí)候,也可以顯示簡要的錯(cuò)誤信息;
12. 首先,關(guān)閉調(diào)試模式:APP_DEBUG = false;
13. 然后,根目錄下 config 的 app.php 最后一樣設(shè)置為:
'show_error_msg' => true,
二. 配置信息
1. 配置文件有兩種形式,開啟調(diào)試我們采用的.env 文件這是一種,適合本地;
2. 另一種配置文件,在根目錄下的 config 里,有很多類型的配置,適合部署;
3. 官方手冊明確表示:.env 環(huán)境變量用于本地開發(fā)測試,部署后會被忽略;
4. 那么,我們怎么去獲取這些配置文件的值呢?
5. 對于.env 文件,比如[DATABASE]下的 HOSTNAME = 127.0.0.1 獲取方式如下:
use think\facade\Env;
return Env::get('database.hostname');
6. 對于 config 文件,比如 database.php 下的 hostname,獲取方式如下:
use think\facade\Config;
return Config::get('database.connections.mysql.hostname');
7. 也可以判斷這兩種文件的配置是否存在,使用 has 方法判斷:
echo Env::has('database.hostname');
echo Config::has('database.connections.mysql.hostname');
8. 關(guān)于這兩種配置文件的優(yōu)先級,在本地測試時(shí).env 優(yōu)先于 config;
9. 從 config 配置中可以看出,它是先讀取.env 的,然后再默認(rèn)配置一個(gè)自己的;
10. 而到了部署環(huán)境,.env 會被忽略,則自動切換到 config 配置;