ThinkPHP V5.0 正式版发布

ThinkPHP5.0 正式版的发布,是团队中秋节送给PHP开发者最好的礼物!祝大家中秋快乐,事业顺利,用ThinkPHP开发更健康^_^

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

ThinkPHP V5.0——为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
[ 文档 ]

5.0完全开发手册和5.0快速入门
[ 下载地址 ]

官网:http://www.thinkphp.cn/down/845.html
GitHub: https://github.com/top-think/think.git (主要维护仓库 官方核心团队)
Composer: composer create-project topthink/think tp5 --prefer-dist
[ 扩展包 ]

下面是针对ThinkPHP5的扩展包 需要使用Composer安装
应用单元测试:https://github.com/top-think/think-testing.git
验证码:https://github.com/top-think/think-captcha.git
队列:https://github.com/top-think/think-queue.git
MongoDb支持:https://github.com/top-think/think-mongo.git
angular模板引擎:https://github.com/top-think/think-angular.git
助手库:https://github.com/top-think/think-helper.git
数据库迁移工具:https://github.com/top-think/think-migration.git

通过支付宝捐赠支持我们:

ThinkPHP官方小组 2016年中秋

时间: 2024-10-24 00:07:48

ThinkPHP V5.0 正式版发布的相关文章

Appium路线图及1.0正式版发布

Appium更新的速度极快,从我试用时候的0.12到1.0beta(0.18版本后就是1.0),完全符合移动互联网的节奏. 整理了testerhome上思寒发表的帖子,让我们来看下历程. 1. appium1.0 beta 和正式版里程碑 appium1.0 beta版本里程碑的issue列表https://github.com/appium/appium/issues?milestone=1&state=open appium1.0正式版本里程碑https://github.com/appiu

AngularJS 2.0 正式版发布

AngularJS 2.0 正式版发布!!!! (编辑:我说你们能不在节假日发布新版本吗?还让不让人放假了?) 关于新版本的特性,在之前的几个测试版本中已经介绍很详尽了,有兴趣的可以翻译一下之前几个 2.0 的测试版本新闻. Angular 团队接下来主要的工作重点包括以下几个方面: Bug 修复和促进一些新特性 API 更稳定 提供更多指南以及示例(基础教程qkxue.net) 动画方面的进一步增强 Angular Material 2 WebWorkers 从体验版到稳定版 Angular

Redis 3.0正式版发布,正式支持Redis集群

Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最重要特征是对Redis集群的支持,此外,该版本相对于2.8版本在性能.稳定性等方面都有了重大提高. Redis 3.0正式版相对于RC6版本的改进内容包括: 修复了无磁盘情况下的的复制问题: 在角色变化后对BLPOP复制进行了测试: 改进了prepareClientToWrite()错误处理: 移除

Deis 1.0 正式版发布,可用于产品环境!

基于 Docker 的开源 PaaS 系统 Deis 1.0 正式版发布了,这是 Deis 的首个稳定版本,你现在可以在生产环境中使用该系统,这是 Deis 首个基于 Docker 构建的产品级别的 PaaS 系统. Deis 1.0 提供了稳定的 API.丰富的功能特性以及可靠的组件架构.包括: 平台质量  - Deis 由久经沙场的社区进行测试,可处理企业级产品负载 安装便捷 - Deis 可通过一个简单的命令行工具在 30 分钟内安装到 CoreOS 集群中 高可用性 - 整个 Deis

Lucene 4.0 正式版发布,亮点特性中文解读[转]

http://blog.csdn.net/accesine960/article/details/8066877 2012年10月12日,Lucene 4.0正式发布了(点击这里下载最新版),这个版本因为诸多的新特性和大胆的架构调整一直备受期待.无论是索引结构,索引算法以及整体架构的包容性都发生了翻天覆地的变化.正如大家一直所说的Lucene是一个搜索工具包 ,而4.0的发布则让Lucene向搜索框架的方向迈出了一大步. 下面我们来逐一解读Lucene 4.0的新特性吧. Lucene 4.0

Python 3.8.0 正式版发布,新特性初体验 全面介绍

Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PEP 572: Assignment Expressions 新增一种新语法形式::=,又称为"海象运算符"(为什么叫海象,看看这两个符号像不像颜表情),如果你用过 Go 语言,应该对这个语法非常熟悉. 具体作用我们直接用实例来展示,比如在使用正则匹配时,以往版本中我们会如下写: impor

.NET ORM 开源项目 FreeSql 1.0 正式版发布

一.简介 FreeSql 是 .NET 平台下的对象关系映射技术(O/RM),支持 .NetCore 2.1+ 或 .NetFramework 4.0+ 或 Xamarin. 从 0.0.1 发布,历时整整一年的迭代更新,原计划元旦发布1.0,可能作者比较急提前了几天发布.其实是元旦有其他事-- 本文内容从简,介绍项目的主要功能框架,以及暂时能想到的可能比较有说服力的特性. 二.项目统计 主仓库解决方案共计项目:29个 单元测试:3510个 Code Issues:168个 文档Wiki:43个

云舒网络译:Rancher1.0正式版发布

编者注: Rancher Labs是一家容器技术基础设施提供商,总部位于美国硅谷,Rancher是一个高效易用的企业容器云平台. 云舒网络 http://www.cloudsoar.com/为Rancher Labs的战略合作伙伴及中国最强技术实施服务团队,在硅谷.中国.东南亚均设有研发和运营中心. 注:以下内容由云舒网络首家授权翻译,转载请注明出处! 原文链接: http://rancher.com/announcing-rancher-1-0-ga/ 中文版:http://www.cloud

Android Studio 2.0 正式版发布啦 (首次中文翻译)

Android Studio 2.0 发布了,增加了一些新特性: 1. 更加完善的 Instant Run 2. 更快的 Android Emulator 3.GPU Debugger Preview 4. 包含了 IntelliJ 15 的更新 Android Studio 2.0 原文   (翻译在往下翻) Posted by Jamal Eason, Product Manager, Android Android Studio 2.0 is the fastest way to buil