Thinkphp多种版本升级指导_持续更新中

2024-03-27    分类: 网站建设

一、从V5.0.23升级到V5.0.24

1.thinkphpV5.0.23可以无缝升级到thinkphpV5.0.24

二、从V5.0.22升级到V5.0.23

1.thinkphpV5.0.22可以无缝升级到thinkphpV5.0.23

三、从V5.0.21升级到V5.0.22

1.thinkphpV5.0.21可以无缝升级到thinkphpV5.0.22

四、从V5.0.20升级到V5.0.21

1.thinkphpV5.0.20可以无缝升级到thinkphpV5.0.21。

五、从V5.0.19升级到V5.0.20

1.thinkphpV5.0.19可以无缝升级到thinkphpV5.0.20。

六、从V5.0.18升级到V5.0.19

1.thinkphpV5.0.18可以无缝升级到thinkphpV5.0.19。

七、从V5.0.17升级到V5.0.18

1.由于5.0.18+更具严谨性,如果数组查询条件中使用了exp查询,必须做出如下调整:

2.$model->whereExp('id','>score')->find();

3.如果需要使用exp表达式更新数据,必须使用Db::raw()方法或者exp方法。下面用法不再支持:

八、从V5.0.16升级到V5.0.17

1.如果你使用了闭包查询条件,并且使用了默认的查询缓存cache()或者cache(true),新版本会抛出异常,请使用cache('key')替代,避免因为查询缓存无效而影响业务。

2.如果你在order方法中使用了SQL函数,请使用orderRaw方法或者Db::raw()方法替代。

3.对于复杂的field/where/order字符串参数的,如果发现存在错误,尽量使用fieldRaw/whereRaw/orderRaw替代(只能传入字符串参数)。

九、从V5.0.15升级到V5.0.16

1.默认模板渲染规则改进

2.由于fetch方法和view函数的默认模板规则调整为操作方法的名称(不含操作后缀)转换为小写+下划线方式

3.举个例子,你的控制器操作方法名如果是“helloWorld”,而新版会自动定位到“hello_world.html”。

4.对于指定模板渲染的fetch方法和view助手函数不受影响,对于非驼峰操作方法名也没有影响。

十、从V5.0.14升级到V5.0.15

1.thinkphpV5.0.14可以无缝升级到thinkphpV5.0.15。

十一、从V5.0.13升级到V5.0.14

1.thinkphpV5.0.13可以无缝升级到thinkphpV5.0.14。

十二、从V5.0.12升级到V5.0.13

1.thinkphpV5.0.12可以无缝升级到thinkphpV5.0.13。

2.如果使用了Redis缓存,需要清空下Redis缓存数据的内容。

十三、从V5.0.11升级到V5.0.12

1.thinkphpV5.0.11可以无缝升级到thinkphpV5.0.12。

十四、从V5.0.10升级到V5.0.11

1.thinkphpV5.0.10可以无缝升级到thinkphpV5.0.11.

2.升级完成后请务必清空下数据缓存。

十五、从V5.0.9升级到V5.0.10

1.thinkphpV5.0.9可以无缝升级到thinkphpV5.0.10

十六、从V5.0.8升级到V5.0.9

1.thinkphpV5.0.8可以无缝升级到thinkphpV5.0.9

十七、从V5.0.7升级到V5.0.8

1.如果自定义了应用的命名空间的话,原来的app_namespace配置参数改为APP_NAMESPACE常量在入口文件中定义。

2.如果使用了多对多关联,并且定义了中间表,那么中间表改为去掉前缀后的数据表名。

3.模型的scope方法之后只能使用数据库查询方法而不能使用模型的方法。

十八、从V5.0.6升级到V5.0.7

1.thinkphpV5.0.6可以无缝升级到thinkphpV5.0.7

十九、从V5.0.5升级到V5.0.6

1.thinkphpV5.0.5可以无缝升级到thinkphpV5.0.6。

2.由于数据库缓存策略的改进,之前如果使用了数据缓存,请先清空下数据缓存。

3.之前因为升级到5.0.5版本后 时间字段使用整型后也会自动格式化输出的问题,现在可以设置数据库的配置参数 datetime_format值为false

即可关闭自动转换。

4.另外,注意,如果使用了MongoDb数据库扩展的话,请删除数据库配置文件中的query参数。

二十、从V5.0.4升级到V5.0.5

1.模型的时间日期字段会自动进行格式化输出,不需要进行额外处理。

2.原生查询不再支持返回数据集对象。

3.Connection类的model方法已经更改为getQuery。

4.关联定义方法的alias参数已经废弃。

5.分页查询返回类型变成think\Paginator(用法不变)。

6.数据缓存自动采用子目录方式避免缓存数据文件过多影响性能。

7.Session类添加了secure和httponly参数,并且默认是true,如果不支持请手动关闭。

二十一、从V5.0.3升级到V5.0.4

1.模型的关联定义方法必须采用驼峰法(小写字母打头)命名规范,但关联调用可以支持驼峰和小写方式。

2.行为类的方法必须使用驼峰法命名,如果你使用了钩子位作为行为执行方法入口,请修改为驼峰法,例如 app_init钩子位对应的行为方法名应该是 appInit。

3.如果你使用了Query类的fetchClass方法自定义数据集返回对象的话,请改为在模型中设置resultSetType属性,数据库类不再支持自定义查询数据集对象(只支持数组和系统的think\Collection数据集对象)

二十二、从V5.0.2升级到V5.0.3

1.对于join方法和view方法使用子查询的情况,请尽量使用数组方式。

2.'子查询'=>'别名'

二十三、从V5.0.1升级到V5.0.2

1.下列模型属性和方法由原来的静态(static)定义改为动态定义。

a)聚合模型的relationModel属性.

b)Model类的useGlobalScope属性

c)软删除属性 deleteTime属性

d)全局查询范围方法base改为动态方法

2.原来的join方法和view方法的第一个参数规范化,支持下面三种用法。

a) 用法一:[ '带前缀表名'=>'别名' ]。

b) 用法二:'带前缀表名 别名'

c)用法三:'不带前缀的表名’

3.如果使用了空操作方法,无需给_empty方法添加任何参数,当前操作名的获取直接使用请求对象的

二十四、从V5.0升级到V5.0.1

1.扩展配置参数extra_config_list废弃,除了数据库配置之外的扩展配置放入application/extra目录自动识别加载。

2.模型的field属性无需配置字段类型。

3.查询构建器使用手动参数绑定的时候不要使用?号占位绑定,使用命名参数绑定。

4.如果使用了file_get_contents('php://input')请改为Request对象的getInput()方法获取。

5.文件File类取消md5()和sha1()方法,请使用hash('md5')和hash('sha1')方法替代。

二十五、从V3.2版本升级到V5.0

1.强烈建议升级5.0版本,同3.X版本比好太多,同样升级也比较难,几乎相当于从新学习一个框架,很多思路想法需要改变,但出于安全和方便,还是强烈建设升级。

2.原3.2版本无法直接升级到5.0版本,这里只是给出了升级指导思想和为了使用3.X版本的开发者更快的熟悉并上手这个全新的版本。同时也强烈建议开发者抛弃之前旧的思维模式,因为5.0是一个全新的颠覆重构版本。

分享文章:Thinkphp多种版本升级指导_持续更新中
URL分享:https://www.cdcxhl.com/news22/321972.html

成都网站建设公司_创新互联,为您提供域名注册小程序开发微信小程序企业网站制作手机网站建设Google

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设