本文主要是介绍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)
这篇关于tp5.0升级tp6.0遇到的问题总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!