1. 程式人生 > 其它 >tp5.0升級tp6.0遇到的問題總結

tp5.0升級tp6.0遇到的問題總結

概述

  • tp5.0 -> tp5.1 -> tp6.0 都有較大改動,雖然有官方的升級指導檔案但是也沒有覆蓋所有情況
  • 本次升級的過程也是作為一次嘗試,以下問題僅是本人在升級專案中遇到,未包括所有情況
  • 如果不是必要情況,強烈不推薦升級

遇到的問題

  • 路由引數繫結不再支援按照名稱成對解析(url_param_type)
  • model不再支援get()/all()方法
    • 可以使用find()/select()來作為替換
    • 若遇到get()引數使用的不是主鍵,則需配合where()->find()使用
  • 系統庫think\Db | think\Session等需要使用門面
    • think\facade\Session等,具體可檢視此處
  • model中init()方法的模型事件self::beforeInsert(function ($obj) { })等無法使用
    • 更改為public static function onBeforeInsert($obj) {}
  • 控制器中$this->redirect('/path'); return true;無法使用
    • 直接更改為return redirect('/path');
  • Session需設定為中介軟體使用
  • ROOT_PATH | TEMP_PATH | DS等全域性變數不可使用
    • 可替換為app()->getRootPath() | app()->getRuntimePath()
  • 上傳檔案validate方法不可用
    • 控制器中可使用$this->validate()validate()->check($file)