下面只列出了现在工作中遇到的比较常用的改动。更详细的改动请参考:参考, 改动量较大,除非重构,不推荐从tp5.1升级到tp6.0
多应用模式的变更
tp6.0多应用模式作为service
加入到框架中,而不是框架自带,需要单独安装composer require topthink/think-multi-app
行为调整
行为和Hook已经用新版的事件机制替代,需要把你的行为改成事件响应或者中间件(部分请求拦截的行为可以直接改为中间件)。
配置文件变更
- 所有配置读取必须从第一级开始配置, 如之前的
config('example')
直接读app.php
中的example
配置现在不再被支持.
日志配置的变化
- debug模式下不再有默认的请求日志。如果需要可以手动添加。推荐直接用nginx日志。
//tp5.1 thinkphp/library/think/App.php
// 记录路由和请求信息
if ($this->appDebug) {
$this->log('[ ROUTE ] ' . var_export($this->request->routeInfo(), true));
$this->log('[ HEADER ] ' . var_export($this->request->header(), true));
$this->log('[ PARAM ] ' . var_export($this->request->param(), true));
}
- debug模式需要在
.env
中开启APP_DEBUG
,而不是app.php
中的app_debug
。 - 在debug模式(
.env.APP_DEBUG
)下不会自动输出报错信息。需要使用show_error_msg
单独打开。 - tp6日志增加了通道的概念,可以支持不同的日志输出,如文件、电子邮件等。
模型变更
- 取消
eq/neq/gt/lt/egt/elt
操作。 - 取消setInc, setDec方法。
参考
5.1升级到6.0版本
zhangfeng