虽然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
方法需要指定多表尽量使用数组方式;
至于很多开发者担心的多模块废弃的问题,其实没有太多必要担心,因为新版的多应用的目录结构和命名空间和之前多模块的是特意保持兼容的,只是各个模块的路由定义需要拆分为多个,当然你可以改造成多级控制器如果不放心的话。