下面只列出了現在工作中遇到的比較常用的改動。更詳細的改動請參考:參考, 改動量較大,除非重構,不推薦從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方法。
參考
by zhangfeng