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)
上一篇:jquery validate初上手


下一篇:Phalcon框架之———— 2.0升级到3.0 问题Model验证问题解决