首先昨天整个版本升级还是挺顺利的,这次是从5.1版本升级到6.0.2版本,其中遇到的问题也是不少。昨天总共花了5个多小时吧,如果熟悉Composer的还是会省点时间。
为啥要升级?
因为有好几个用户一直在问支不支持6.0版本的Thinkphp,本来计划是等表单控件Tpfd3.0版本升级完,才来做这个的。最后,版本升级是趋势。
踩了多少个坑?
坑1:
Composer 安装,太久没用这个管理了,遇到了很多问题。 可以看看之前的教程(针对phpStudy Composer 结合Thinkphp5.0例子来谈谈简单使用),这个教程可以让你快速上手Composer,我遇到的问题主要还是漏掉了PHP版本问题,一直使用7.0的,导致一直安装不上6.0.2版本的框架。
坑2:
Tp6.0版本完全依赖Composer包管理,各个组件都独立了,很多都要自己动手去安装,比如:think-multi-app 、liliuwei/thinkphp-jump 等等,如果不安装这些,可能会有各种各样的报错问题。
坑3:
函数调用,很多用法其实在Tp5.0已经逐步删除了,比如3.0以前的字母用法,5.0 5.1版本的已经过度删除了,到了6.0就没有了。A C D Controller Action 等等都没了,现在的写法只能是:
以Tp5.1版本工作流来对比:
前:{:action('wf/status',['status'=>$k.status])}
后:{:app\\index\\controller\\wf::status($k.status)}
前:{:action('wf/btn',['wf_fid'=>$k.id,'wf_type'=>'news','status'=>$k.status])}
后:{:app\\index\\controller\\wf::btn($k.id,'news',$k.status)}
坑4:
topthink/think-orm ORM改的也挺多的,废弃了db 这个助手函数,全部要继承 think\facade\Db Db::name ,where查询中,EQ\LT\EGT等等表达式也不再支持。>select() 生成的是对象,不是数组;需要改成->select()->all()
坑5:
取消了 use think\controller; 很多方法不支持了,比如$this->success() 等等跳转不支持,需要改成 liliuwei/thinkphp-jump 才能使用。
还有很多....想到再来补充吧,最后,直接GIT可以获取到新版的4.0工作组件和最新的TP6.0版本
上一段广告:
[限时推广]免费领取2160元云主机新购优惠 ,快去看看吧!
工作流手册:https://www.kancloud.cn/guowenbin/tpflow 赞助支持,购买文档赞助用户【VIP群】1062040103
本文为逆天的蝈蝈的文章,转载无需和我联系,但请注明cojz8.com
蝈蝈:
2020-03-04 17:00:54 回复