首頁 > php框架 > ThinkPHP > thinkphp5升級步驟

thinkphp5升級步驟

藏色散人
發布: 2019-11-09 09:33:35
原創
4691 人瀏覽過

thinkphp5升級步驟

ThinkPHP5.0升級5.1完整紀錄

thinkphp5升級步驟

##並分割為app.php、cache.php 等獨立設定文件,系統預設的設定檔清單如下:

因為專案是用tp5.1開發的,網路上找了一個不錯的商城系統,但卻是5.0開發的,因此將5這個商城升級成了5.1。其中坑不少,特此紀錄,以利後人。

1、首先就是facade。

5.0沒這東西。 5.1新增的門面。需要將use裡對應的。對應的如下表:

thinkphp5升級步驟

2、設定檔調整

原有的設定檔config.php從應用程式目錄移動到和應用目錄同級的config目錄,並拆分為app.php、cache.php 等獨立配置文件,系統預設的配置文件清單如下:

thinkphp5升級步驟

換而言之就是原來所有的一級配置都獨立為一個設定檔

原來的應用程式extra目錄下面的設定檔直接移到config目錄下面。

原來模組的設定檔(包括extra目錄下面的)直接移到模組下的config目錄,然後參考上面的應用程式設定檔進行調整。

5.1的設定檔全部採用二級配置方式,所有不帶一級組態名的參數都會作為app的二級配置,例如

config('app_debug');
登入後複製

等同於

config('app.app_debug');
登入後複製

3、常數調整

5.1取消了所有的框架內建常數(不影響應用程式碼中的自訂常數),如需獲取,請使用thinkacadeApp類別的內建方法以及thinkacadeEnv類別獲取,下面給出的是5.0和5.1的常數對照表:

4、模型調整

模型的資料集查詢總是傳回資料集物件而不接著是數組;

模型的資料表主鍵如果不是id,則必須設定模型的pk屬性;

軟體刪除trait引入更改為use thinkmodelconcernSoftDelete;

全域查詢範圍base方法中無需新增軟刪除條件;

聚合模型功能廢除,使用關聯模型配合關聯自動寫入功能替代,更靈活;

模型的查詢範圍scope方法呼叫後只能使用資料庫的查詢方法;

取消模型的資料驗證功能,請使用控制器驗證或路由驗證替代;

這個模型調整,一定要看得細之又細。例如第二點裡的主鍵。商城系統裡大量用到了關聯模型,資料表裡的主鍵不管是什麼名,5.0時代都是可以自動取得的,但是5.1裡預設都是id,必須用$pk=user_id指定主鍵名,否則會報"模型屬性不存在"這樣的錯誤,坑了我2小時。

5、控制器調整

_initialize方法改為initialize(坑了我1小時,眼神不好使的,都會被坑)

6.最後一個步驟不要忘了:清空快取目錄下的所有文件

7、其他事宜,建議詳細看TP5.1的文檔,不要放過一個字。

推薦學習:

thinkphp5#

以上是thinkphp5升級步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板