### 2018 年 11 月 12 日 发布 虽然`5.2`版本尚未正式发布,但越来越多的开发者已经在关注新版本,由于新版本采用了强类型约束和废弃了一些特性,所以不可避免的导致了一些升级兼容问题。 同时`5.2`也精简和统一了很多用法,如果你希望升级工作变得尽量简单,请务必保持良好的开发习惯并尽量使用官方推荐的用法,尤其是下面列表中提到的一些注意事项。 * 路由定义不要使用返回数组定义,使用方法定义; * 尽量不要使用`db`和`model`助手函数; * 静态类请使用和引入`Facade`静态类; * 行为类尽量改成使用中间件类实现; * 控制器的`assign`方法使用数组方式传入模板变量; * 尽量避免动态设置配置类的配置参数; * 不要使用数据库的`resultset_type`参数; * 查询统一使用`find/select`方法替代`get/all`方法; * 避免使用`fetchPdo`方法查询; * 避免使用`base`方法定义全局查询范围; * 避免在`find/select`方法中传入`Query`对象; * 避免使用`Session`类的`prefix`设置; * 避免使用`Config`类的`range`功能; * 对于带有SQL函数的查询尽量使用`whereRaw`/`whereExp`/`orderRaw`/`fieldRaw`等方法; * 如果`table`方法需要指定多表尽量使用数组方式; 至于很多开发者担心的多模块废弃的问题,其实没有太多必要担心,因为新版的多应用的目录结构和命名空间和之前多模块的是特意保持兼容的,只是各个模块的路由定义需要拆分为多个,当然你可以改造成多级控制器如果不放心的话。 >[info] 最后,由于目前`5.2`仍然处于测试阶段,不排除正式版本发布的时候还有额外的变化或者其它不兼容的情况。