0375-3382118

可以设置电话、微信、qq,并显示不同的图标

PHP版本介绍,ThinkPHP5.0版本的详细介绍

admin9个月前54

  ThinkPHP5.0版本的详细介绍

  发布时间:2020-11-11 10:52:53

  来源:亿速云

  阅读:103

  作者:小新

  这篇文章给大家分享的是有关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类支持设定主键、字段信息和字段类型,不依赖自动获取,提高性能

  Model类的data方法 支持修改器

  改进Relation类对非数字类型主键的支持

  改进Relation类的一对多删除

  修正Relation类的一对多关联预载入查询

  [ 日志和缓存 ]

  支持日志类型分离存储

  日志允许设置记录级别

  增加缓存标签功能

  缓存类增加pull方法用于获取并删除

  cache助手函数增加tag参数

  简化日志信息,隐藏数据库密码

  增加cache/session redis驱动的库选择逻辑;

  memcached驱动的配置参数支持option参数

  调试模式下面 日志记录增加页面的header和param参数记录

  memcached缓存驱动增加连接账号密码参数

  缓存支持设置complex类型 支持配置多种缓存并用store切换

  缓存类增加tag方法 用于缓存标签设置 clear方法支持清除某个缓存标签的数据

  File类型日志驱动支持设置单独文件记录不同的日志级别

  改进文件缓存和日志的存储文件名命名规范

  缓存类增加inc和dec方法 针对数值型数据提供自增和自减操作

  Cache类增加has方法 get方法支持默认值

  [ 其它 ]

  视图类支持设置模板引擎参数

  增加表单令牌生成和验证

  增加中文验证规则

  增加image和文件相关验证规则

  重定向Response对象支持with方法隐含传参

  改进Session类自动初始化

  session类增加pull方法用于获取并删除

  增加Env类用于获取环境变量

  Request类get/post/put等更改赋值后param方法依然有效

  改进Jump跳转地址支持Url::build 解析

  优化Hook类

  应用调试模式和页面trace支持环境变量设置

  config助手函数支持 config('?name') 用法

  支持使用BIND_MODULE常量的方式绑定模块

  入口文件自动绑定模块功能

  改进验证异常类的错误信息和模板输出,支持批量验证的错误信息抛出

  完善console 增加output一些常用的方法

  增加token助手函数 用于在页面快速显示令牌

  增加halt方法用于变量调试并中断输出

  改进Validate类的number验证规则 和 integer区分开

  optimize:autoload增加对extend扩展目录的扫描

  改进Validate类的boolean验证规则 支持表单数据

  改进cookie助手函数支持 判断是否存在某个cookie值

  改进abort助手函数 支持抛出HttpResponseException异常

  改进File类增加对上传错误的处理

  改进File类move方法的返回对象增加上传表单信息,增加获取文件散列值的方法

  改进File类的move方法的返回对象改为返回File对象实例

  增加clear和optimize:config 指令

  改进File类和Validate类的图像文件类型验证

  控制器的操作方法支持注入Request之外的对象实例

  Request类 param(true) 支持获取带文件的数据

  input助手函数第一个参数增加默认值

  Validate类增加image验证规则 并改进max min length支持多种数据类型

  json输出时数据编码失败后抛出异常

  [ 调整 ]

  废除路由映射(静态路由)定义

  取消url_deny_suffix配置 改由路由的deny_ext参数设置

  模型save方法返回值改为影响的记录数,取消getId参数

  Request对象controller方法返回驼峰控制器名

  控制器前置操作方法不存在则抛出异常

  Loader类db方法增加name标识参数

  db助手函数增加第三个参数用于指定连接标识

  Sqlsrv驱动默认不对数据表字段进行小写转换

  移除sae驱动 改为扩展包

  Oracle驱动移出核心包

  Firebird驱动移出核心包

  取消别名定义文件alias.php

  配置参数读取的时候取消环境变量判断 需要读取环境变量的时候使用Env类

  环境变量定义文件更改为 .env 由原来的PHP数组改为ini格式定义(支持数组方式)

  状态配置和扩展配置的加载顺序调整 便于状态配置文件中可以更改扩展配置的参数

  取消域名绑定到路由分组功能

  控制器类的success和error方法url参数支持传入空字符串,则不做任何处理

  控制器的error success result redirect方法均不需要使用return

  创建目录的权限修改为0644

  感谢各位的阅读!关于ThinkPHP5.0版本的详细介绍就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

BC链 http://www.chinabic.com/?id=99 转载需授权!

网友评论