【十天精品课堂系列】 主讲:李炎恢
学习要点:
1.开启调试
2.配置文件
本节课我们来开启一下系统的调试功能,以及简单理解下框架配置信息。
一. 开启调试
1. 在开发阶段,我们建议开启框架的调试模式;
2. 调试模式开启后,会牺牲一些执行效率,但大大提高了开发排错的能力;
3. 当项目部署到生产环境时,再关闭调试模式即可;
4. 安装好的 TP6.0 默认并没有开启调试,可以在域名后面胡乱输入字符回车;
5. 此时,页面只会提示:“页面错误,请稍后再试~”,表示调试未开启;
6. 通过命令行安装的 TP6.0,会自动在根目录生成一个.example..env 文件;
7. 这个.env 文件是环境配置文件,我们只要删除前面的.example.即可生效;
8. 此时,刷新页面,右下角会出现 Trace 调试小图标,说明调试开启了;
9. 查看.env 文件,打开调试的环境变量为 APP_DEBUG = true,false 关闭;
10. 那么,开启调试模式有那些显著的优势呢?
a. 记录系统运行流程的执行过程;
b. 展示错误和调试信息,并开启日志记录;
c. 模版修改可以及时生效(不会被缓存干扰);
d. 启动右下角的 Trace 调试功能,更加强大;
e. 发生异常时,也会显示异常信息;
11. 当然,还有一种模式,就是关闭调试的时候,也可以显示简要的错误信息;
12. 首先,关闭调试模式:APP_DEBUG = false;
13. 然后,根目录下 config 的 app.php 最后一样设置为:
'show_error_msg' => true,
二. 配置信息
1. 配置文件有两种形式,开启调试我们采用的.env 文件这是一种,适合本地;
2. 另一种配置文件,在根目录下的 config 里,有很多类型的配置,适合部署;
3. 官方手册明确表示:.env 环境变量用于本地开发测试,部署后会被忽略;
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. 关于这两种配置文件的优先级,在本地测试时.env 优先于 config;
9. 从 config 配置中可以看出,它是先读取.env 的,然后再默认配置一个自己的;
10. 而到了部署环境,.env 会被忽略,则自动切换到 config 配置;