概述
- 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)