浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别

技术教程2个月前发布 北陌
427 00

浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别

5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别。

URL和路由

5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则路由配合变量规则(正则定义)的方式:

主要改进如下:

增加路由变量规则;

增加组合变量支持;

增加资源路由;

增加路由分组;

增加闭包定义支持;

增加MISS路由定义;

支持URL路由规则反解析;

请求对象和响应对象

5.0新增了请求对象Request和响应对象Response,Request统一处理请求和获取请求信息,Response对象负责输出客户端或者浏览器响应。

模块和控制器

控制器的命名空间有所调整,并且可以无需继承任何的控制器类。

应用命名空间统一为app(可定义)而不是模块名;

控制器的类名默认不带Controller后缀,可以配置开启use_controller_suffix参数启用控制器类后缀;

控制器操作方法采用return方式返回数据 而非直接输出;

废除原来的操作前后置方法;

增加beforeActionList属性定义前置操作;

支持任意层次的控制器定义和访问;

URL访问支持自动定位控制器;

数据库

5.0的数据库查询功能增强,原先需要通过模型才能使用的链式查询可以直接通过Db类调用,原来的M函数调用可以改用db函数,例如:

3.2版本

M(User)-

© 版权声明

相关文章

暂无评论

none
暂无评论...