ThinkPHP5.0版本的详细介绍

这篇文章给大家分享的是有关ThinkPHP5.0版本的详细介绍的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

ThinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有3.2项目的升级,请慎重考虑商业项目升级,但绝对是新项目的首选(无论是WEB还是API开发)。

[ 特性 ]

主要特性包括:

--------------------------------------------------------------

规范:遵循PSR-2、PSR-4规范,Composer及单元测试支持;

严谨:异常严谨的错误检测和安全机制,详细的日志信息,为你的开发保驾护航;

灵活:减少核心依赖,扩展更灵活、方便,支持命令行指令扩展;

API友好:出色的性能和REST支持、远程调试,更好的支持API开发;

高效:惰性加载,及路由、配置和自动加载的缓存机制;

ORM:重构的数据库、模型及关联,MongoDb支持;

--------------------------------------------------------------

支持ThinkPHP5的用户请到 Github 给我们一个`star` ^_^

相对于RC4版本,更新如下:

[ 请求和路由 ]

Request对象支持动态绑定属性

定义了路由规则的URL原地址禁止访问

改进路由规则存储结构

路由分组功能增强,支持嵌套和虚拟分组

路由URL高效反解

改进Request对象param方法获取优先级

路由增加name方法设置和获取路由标识

增加MISS和AUTO路由规则

Route类增加auto方法 支持注册一个自动解析URL的路由

路由规则支持模型绑定

路由变量统一使用param方法获取

路由规则标识功能和自动标识

增加生成路由缓存指令 optimize:route

Request对象增加route方法单独获取路由变量

Request对象的param get post put request delete server cookie env方法的第一个参数传入false 则表示获取原始数据 不进行过滤

改进自动路由标识生成 支持不同的路由规则 指向同一个路由标识,改进Url自动生成对路由标识的支持

改进Request类 filter属性的初始化

改进Request类的isAjax和isPjax方法

Request类增加token方法

路由配置文件支持多个 使用 route_config_file 配置参数配置

域名绑定支持https检测

改进域名绑定 支持同时绑定模块和其他 支持绑定到数组定义的路由规则,取消域名绑定到分组

路由规则增加PATCH请求类型支持

增加route_complete_match配置参数设置全局路由规则定义是否采用完整匹配 可以由路由规则的参数complete_match 进行覆盖

改进路由的 后缀参数识别 优先于系统的伪静态后缀参数

Url类增加root方法用于指定当前root地址(不含域名)

改进Url生成对可选参数的支持

[ 数据库 ]

查询条件自动参数绑定

改进分页方法支持参数绑定

Query类的cache方法增加缓存标签参数

Query类的update和delete方法支持调用cache方法 会自动清除指定key的缓存 配合查询方法的cache方法一起使用

改进Query类的延迟写入方法

Query类的column和value方法支持fetchsql

改进日期查询方法

改进存储过程方法exec的支持

改进Connection类的getLastInsID方法获取

记录数据库的连接日志(连接时间和DSN)

改进Query类的select方法的返回结果集判断

Connection类增加getNumRows方法

数据库事务方法取消返回值

改进Query类的chunk方法对主键的获取

改进当数据库驱动类型使用完整命名空间的时候 Query类的builder方法的问题

[ 模型 ]

增加软删除功能

关联模型和预载入改进

关联预载入查询闭包支持更多的连贯操作

完善savell方法支持更新和验证

关联定义统一返回Relation类

Model类的has和hasWhere方法对join类型的支持

Model类的data方法 批量赋值数据的时候 清空原始数据

Model类的get方法第三个参数传入true的时候会自动更新缓存

Model类增加只读字段支持

Model类增加useGlobalScope方法设置是否启用全局查询范围

Model类的base方法改为静态定义 全局多次调用有效

Model类支持设定主键、字段信息和字段类型,不依赖自动获取,提高性能

ThinkPHP5.0版本的详细介绍