ThinkPHP V5.0.11 暨 5.1.0 RC1 版本发布: 包含安全更新 - 开源中国社区
ThinkPHP V5.0.11 暨 5.1.0 RC1 版本发布: 包含安全更新
流年 2017年09月11日

ThinkPHP V5.0.11 暨 5.1.0 RC1 版本发布: 包含安全更新

流年 流年 发布于2017年09月11日 收藏 4

有免费的MySQL,为什么还要买? >>>  

V5.1.0RC1版本是继5.0版本之后又一个重大版本,ThinkPHP5.1在5.0的基础上对底层架构做了进一步的改进,引入新特性,并提升版本要求。

ThinkPHP5.1运行环境要求PHP5.6+,虽然不支持5.0的无缝升级,但升级过程并不复杂(请参考升级指导

主要新特性

* 引入容器和Facade支持
* 依赖注入完善和支持更多场景
* 重构的(对象化)路由
* 配置和路由目录独立
* 取消系统常量
* 助手函数增强
* 类库别名机制
* 模型和数据库增强
* 验证类增强
* 模板引擎改进
* 支持PSR-3日志规范

下载核心版本

目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!

5.1完全开发手册:https://www.kancloud.cn/manual/thinkphp5_1/353946

V5.0.11版本主要为BUG修正和改进,并且包含一个安全更新,可以从5.0.10无缝升级,推荐更新,主要改进如下:

主要更新

完善缓存驱动;
改进数据库查询;
改进URL生成类;
缓存有效期支持指定过期时间;

更新日志

[数据库和模型]

* 改进数据库驱动类
* 改进`group`方法的字段关键字冲突
* 修正聚合查询返回null的问题
* 改进Db类的强制重连
* 改进关联的属性绑定
* 修正事务的断线重连
* 修正对象的条件查询
* Db类增加`clear`方法
* 改进数组查询条件中的`null`查询
* 改进Query类的`chunk`方法支持排序设置
* 改进HasOne和HasMany关联的`has`方法
* 改进软删除的关联删除
* 改进一个字段多次查询条件

[其它]

* 缓存有效期支持指定过期时间(`DateTime`);
* 改进Url生成对端口号的支持
* 改进`RouteNotFound`异常提示
* 改进路由分组的全局完整路由匹配
* 修正部分验证规则的错误提示问题
* 支持数据集和模型的xml响应输出
* 改进模板的三元运算标签
* 改进控制器不存在的错误提示
* input助手函数支持`route`变量获取
* 支持在配置文件中读取额外配置参数
* 完善分页类
* 修复Trait命名空间重复问题
* 修正Request类的env方法
* 优先使用Cookie中的多语言设置
* 获取缓存标签的时候过滤无效的缓存标识
* 修正路由批量注册的一个BUG
* `exception_handle`配置参数支持使用闭包定义`render`处理
* 请求缓存支持缓存标签设置
* 缓存类`remember`方法增加并发锁定机制
* 改进上传类对`swf`的支持
* 改进Session类的`prefix`方法

5.0.10可以无缝升级到5.0.11,升级完成后务必清空你的缓存目录。

下载

OSChina:

应用仓库:http://git.oschina.net/liu21st/thinkphp5

核心仓库:http://git.oschina.net/liu21st/framework

官网下载:核心版 完整版

文档

官方完全开发手册内容已经同步更新 完全开发手册 官方快速入门系列

ThinkPHP官方团队
2017-9-8

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:ThinkPHP V5.0.11 暨 5.1.0 RC1 版本发布: 包含安全更新
分享
评论(42)
精彩评论
2

引用来自“小时了了_大未必佳”的评论

流年大神一定是个牛逼的人,毋庸置疑,但是时间久了难免有点飘,【目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!】,其中‘仅供学习参考’有上对下之意,改成学习交流会好很多
哥们,学问真大,看来以后写文档也要诚惶诚恐了^_^
2

引用来自“漆黑的烈焰使”的评论

php现在的企业用tp用得多还是其他的?php都用什么框架好?
#Symfony#
1
感觉越来越像laravel了.
1

引用来自“小时了了_大未必佳”的评论

流年大神一定是个牛逼的人,毋庸置疑,但是时间久了难免有点飘,【目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!】,其中‘仅供学习参考’有上对下之意,改成学习交流会好很多
@小时了了_大未必佳 tp5刚出来的时候在群里问了个框架问题,作者没给出任何理由就把我删除了,之后鄙人改用python的flask,现在回想起来,还是应该感谢作者,要不然,我到现在应该还在用tp,还在认为tp是宇宙最好的框架呢
最新评论
0

引用来自“小时了了_大未必佳”的评论

流年大神一定是个牛逼的人,毋庸置疑,但是时间久了难免有点飘,【目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!】,其中‘仅供学习参考’有上对下之意,改成学习交流会好很多

引用来自“headjoy”的评论

@小时了了_大未必佳 tp5刚出来的时候在群里问了个框架问题,作者没给出任何理由就把我删除了,之后鄙人改用python的flask,现在回想起来,还是应该感谢作者,要不然,我到现在应该还在用tp,还在认为tp是宇宙最好的框架呢

引用来自“流年”的评论

兄弟,我从来没踢过一个没有违反群规的人,就算是被群管(不是作者)踢了这件事你也用不着一直耿耿于怀吧~技术之路本来就没有定式,我们也是尽量做好自己的产品

引用来自“headjoy”的评论

@流年 我当时在群里提的问题是tp5赋值报错问题,你能说说哪里违反群归了吗? 其他人在群里聊黄段子你却不踢?如果是其他群管踢我倒没什么,可你作为软件作者本人,就一句话不说把我踢了?你不觉得这说明个问题吗?

引用来自“子弹兄”的评论

踢就踢呗,可能管理员误踢,何必耿耿于怀…想进,再加一次即可,多大点事情

引用来自“headjoy”的评论

被踢出后,当即就私下询问被踢原因,不给回复,就能这么任性?作者刚刚还说从来没踢过一个没有违反群规的人,我现在就等作者回复我哪里违规了!如果作者能说他的群规只能聊黄段子,那我就确实违规了!已放弃tp,更不会再次加群。个人认为,不可预测是很大的风险,看看tp2、tp3和tp5吧,不能平滑升级,而且说不维护就不维护了,牛气!

引用来自“xcorp”的评论

@headjoy ������不能再同意

引用来自“headjoy”的评论

@xcorp 没让你同意。我只是说出了事实
说错了,说headjoy 呢
0
@红薯 建议开源中国将评论点赞数达到3的才置顶排序。。
0

引用来自“小时了了_大未必佳”的评论

流年大神一定是个牛逼的人,毋庸置疑,但是时间久了难免有点飘,【目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!】,其中‘仅供学习参考’有上对下之意,改成学习交流会好很多

引用来自“headjoy”的评论

@小时了了_大未必佳 tp5刚出来的时候在群里问了个框架问题,作者没给出任何理由就把我删除了,之后鄙人改用python的flask,现在回想起来,还是应该感谢作者,要不然,我到现在应该还在用tp,还在认为tp是宇宙最好的框架呢

引用来自“流年”的评论

兄弟,我从来没踢过一个没有违反群规的人,就算是被群管(不是作者)踢了这件事你也用不着一直耿耿于怀吧~技术之路本来就没有定式,我们也是尽量做好自己的产品

引用来自“headjoy”的评论

@流年 我当时在群里提的问题是tp5赋值报错问题,你能说说哪里违反群归了吗? 其他人在群里聊黄段子你却不踢?如果是其他群管踢我倒没什么,可你作为软件作者本人,就一句话不说把我踢了?你不觉得这说明个问题吗?

引用来自“子弹兄”的评论

踢就踢呗,可能管理员误踢,何必耿耿于怀…想进,再加一次即可,多大点事情

引用来自“headjoy”的评论

被踢出后,当即就私下询问被踢原因,不给回复,就能这么任性?作者刚刚还说从来没踢过一个没有违反群规的人,我现在就等作者回复我哪里违规了!如果作者能说他的群规只能聊黄段子,那我就确实违规了!已放弃tp,更不会再次加群。个人认为,不可预测是很大的风险,看看tp2、tp3和tp5吧,不能平滑升级,而且说不维护就不维护了,牛气!

引用来自“xcorp”的评论

@headjoy ������不能再同意

引用来自“子弹兄”的评论

你这种人啊…
@子弹兄 你言语偏了。就算是马甲或作者的友人。如果我哪里说的不对,你完全可以批驳我。说话文明是一个人应有的基本素质
0

引用来自“小时了了_大未必佳”的评论

流年大神一定是个牛逼的人,毋庸置疑,但是时间久了难免有点飘,【目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!】,其中‘仅供学习参考’有上对下之意,改成学习交流会好很多

引用来自“headjoy”的评论

@小时了了_大未必佳 tp5刚出来的时候在群里问了个框架问题,作者没给出任何理由就把我删除了,之后鄙人改用python的flask,现在回想起来,还是应该感谢作者,要不然,我到现在应该还在用tp,还在认为tp是宇宙最好的框架呢

引用来自“流年”的评论

兄弟,我从来没踢过一个没有违反群规的人,就算是被群管(不是作者)踢了这件事你也用不着一直耿耿于怀吧~技术之路本来就没有定式,我们也是尽量做好自己的产品

引用来自“headjoy”的评论

@流年 我当时在群里提的问题是tp5赋值报错问题,你能说说哪里违反群归了吗? 其他人在群里聊黄段子你却不踢?如果是其他群管踢我倒没什么,可你作为软件作者本人,就一句话不说把我踢了?你不觉得这说明个问题吗?

引用来自“子弹兄”的评论

踢就踢呗,可能管理员误踢,何必耿耿于怀…想进,再加一次即可,多大点事情

引用来自“headjoy”的评论

被踢出后,当即就私下询问被踢原因,不给回复,就能这么任性?作者刚刚还说从来没踢过一个没有违反群规的人,我现在就等作者回复我哪里违规了!如果作者能说他的群规只能聊黄段子,那我就确实违规了!已放弃tp,更不会再次加群。个人认为,不可预测是很大的风险,看看tp2、tp3和tp5吧,不能平滑升级,而且说不维护就不维护了,牛气!

引用来自“xcorp”的评论

@headjoy ������不能再同意
@xcorp 没让你同意。我只是说出了事实
0

引用来自“小时了了_大未必佳”的评论

流年大神一定是个牛逼的人,毋庸置疑,但是时间久了难免有点飘,【目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!】,其中‘仅供学习参考’有上对下之意,改成学习交流会好很多

引用来自“headjoy”的评论

@小时了了_大未必佳 tp5刚出来的时候在群里问了个框架问题,作者没给出任何理由就把我删除了,之后鄙人改用python的flask,现在回想起来,还是应该感谢作者,要不然,我到现在应该还在用tp,还在认为tp是宇宙最好的框架呢

引用来自“流年”的评论

兄弟,我从来没踢过一个没有违反群规的人,就算是被群管(不是作者)踢了这件事你也用不着一直耿耿于怀吧~技术之路本来就没有定式,我们也是尽量做好自己的产品

引用来自“headjoy”的评论

@流年 我当时在群里提的问题是tp5赋值报错问题,你能说说哪里违反群归了吗? 其他人在群里聊黄段子你却不踢?如果是其他群管踢我倒没什么,可你作为软件作者本人,就一句话不说把我踢了?你不觉得这说明个问题吗?

引用来自“子弹兄”的评论

踢就踢呗,可能管理员误踢,何必耿耿于怀…想进,再加一次即可,多大点事情

引用来自“headjoy”的评论

被踢出后,当即就私下询问被踢原因,不给回复,就能这么任性?作者刚刚还说从来没踢过一个没有违反群规的人,我现在就等作者回复我哪里违规了!如果作者能说他的群规只能聊黄段子,那我就确实违规了!已放弃tp,更不会再次加群。个人认为,不可预测是很大的风险,看看tp2、tp3和tp5吧,不能平滑升级,而且说不维护就不维护了,牛气!

引用来自“xcorp”的评论

@headjoy ������不能再同意
你这种人啊…
0

引用来自“小时了了_大未必佳”的评论

流年大神一定是个牛逼的人,毋庸置疑,但是时间久了难免有点飘,【目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!】,其中‘仅供学习参考’有上对下之意,改成学习交流会好很多

引用来自“headjoy”的评论

@小时了了_大未必佳 tp5刚出来的时候在群里问了个框架问题,作者没给出任何理由就把我删除了,之后鄙人改用python的flask,现在回想起来,还是应该感谢作者,要不然,我到现在应该还在用tp,还在认为tp是宇宙最好的框架呢

引用来自“流年”的评论

兄弟,我从来没踢过一个没有违反群规的人,就算是被群管(不是作者)踢了这件事你也用不着一直耿耿于怀吧~技术之路本来就没有定式,我们也是尽量做好自己的产品

引用来自“headjoy”的评论

@流年 我当时在群里提的问题是tp5赋值报错问题,你能说说哪里违反群归了吗? 其他人在群里聊黄段子你却不踢?如果是其他群管踢我倒没什么,可你作为软件作者本人,就一句话不说把我踢了?你不觉得这说明个问题吗?

引用来自“子弹兄”的评论

踢就踢呗,可能管理员误踢,何必耿耿于怀…想进,再加一次即可,多大点事情

引用来自“headjoy”的评论

被踢出后,当即就私下询问被踢原因,不给回复,就能这么任性?作者刚刚还说从来没踢过一个没有违反群规的人,我现在就等作者回复我哪里违规了!如果作者能说他的群规只能聊黄段子,那我就确实违规了!已放弃tp,更不会再次加群。个人认为,不可预测是很大的风险,看看tp2、tp3和tp5吧,不能平滑升级,而且说不维护就不维护了,牛气!
@headjoy ������不能再同意
0

引用来自“滔哥”的评论

感觉越来越像laravel了.

引用来自“流年”的评论

像与不像与否,并不重要,重要的是我们在改变,在拥抱新技术和新思想,很多主流框架的思想已经越来越接近了。TP5也不会复制一个laravel出来,走自己的路做好自己就行。

引用来自“滔哥”的评论

哈哈,加油搞.至少国内框架来说,你说第二绝对没人说第一. 话说你还记我是哪个不,哈哈...:blush:

引用来自“深爱着你们”的评论

我知道,你是滔哥
回复@深爱着你们 : 尴尬,哈哈.
0

引用来自“Gola”的评论

深刻的记得老刘在高级群里说不要容器的,这个版本老刘给个解释噻。另外,建议使用composer来管理framework,think-installer有点画蛇添足的味道。

引用来自“流年”的评论

容器只是内部架构的调整 对于用户来说 不需要知道容器的存在,之前的依赖注入的对象绑定在请求对象不太合理,所以改成了绑定到容器而已,开发者的用法并没有改变,facade也是为了简化调用和便于单元测试。至于composer的管理问题,团队在设计之初就曾经讨论过,最终定下了目前的方案。对于了解composer的人来说 想怎么折腾就折腾, 没有影响 对于新手来说 照顾体贴为好。而且不依赖composer的autoload在某些特殊的环境下也有优势。

引用来自“Gola”的评论

@流年 你说什么就是什么呗,还是衷心希望tp在工程化、规范化这条路上继续奋斗,给企业级开发带来更多亮点。大道至简,保持特色。

引用来自“流年”的评论

新版开始 就一直在努力遵循规范和PSR规范 但不是一蹴而就罢了 很多人对TP的认知也不够客观 以为一直停留在TP3的层次,TP这么多年的路都是自然发展的选择
最近在用TP5感觉挺好用
0

引用来自“滔哥”的评论

感觉越来越像laravel了.

引用来自“流年”的评论

像与不像与否,并不重要,重要的是我们在改变,在拥抱新技术和新思想,很多主流框架的思想已经越来越接近了。TP5也不会复制一个laravel出来,走自己的路做好自己就行。

引用来自“滔哥”的评论

哈哈,加油搞.至少国内框架来说,你说第二绝对没人说第一. 话说你还记我是哪个不,哈哈...:blush:
我知道,你是滔哥
0

引用来自“滔哥”的评论

感觉越来越像laravel了.

引用来自“流年”的评论

像与不像与否,并不重要,重要的是我们在改变,在拥抱新技术和新思想,很多主流框架的思想已经越来越接近了。TP5也不会复制一个laravel出来,走自己的路做好自己就行。
哈哈,加油搞.至少国内框架来说,你说第二绝对没人说第一. 话说你还记我是哪个不,哈哈...:blush:
0

引用来自“滔哥”的评论

感觉越来越像laravel了.
laravel确实是一个很值得借鉴的标准规范框架,但是学习门槛对初学者不是很友好,而且依赖composer的方式也不是很适合国情,在项目模块灵活性和插件方便性方面还是tp比较懂国人。
0

引用来自“Gola”的评论

深刻的记得老刘在高级群里说不要容器的,这个版本老刘给个解释噻。另外,建议使用composer来管理framework,think-installer有点画蛇添足的味道。

引用来自“流年”的评论

容器只是内部架构的调整 对于用户来说 不需要知道容器的存在,之前的依赖注入的对象绑定在请求对象不太合理,所以改成了绑定到容器而已,开发者的用法并没有改变,facade也是为了简化调用和便于单元测试。至于composer的管理问题,团队在设计之初就曾经讨论过,最终定下了目前的方案。对于了解composer的人来说 想怎么折腾就折腾, 没有影响 对于新手来说 照顾体贴为好。而且不依赖composer的autoload在某些特殊的环境下也有优势。

引用来自“Gola”的评论

@流年 你说什么就是什么呗,还是衷心希望tp在工程化、规范化这条路上继续奋斗,给企业级开发带来更多亮点。大道至简,保持特色。
新版开始 就一直在努力遵循规范和PSR规范 但不是一蹴而就罢了 很多人对TP的认知也不够客观 以为一直停留在TP3的层次,TP这么多年的路都是自然发展的选择
0

引用来自“小时了了_大未必佳”的评论

流年大神一定是个牛逼的人,毋庸置疑,但是时间久了难免有点飘,【目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!】,其中‘仅供学习参考’有上对下之意,改成学习交流会好很多

引用来自“headjoy”的评论

@小时了了_大未必佳 tp5刚出来的时候在群里问了个框架问题,作者没给出任何理由就把我删除了,之后鄙人改用python的flask,现在回想起来,还是应该感谢作者,要不然,我到现在应该还在用tp,还在认为tp是宇宙最好的框架呢

引用来自“流年”的评论

兄弟,我从来没踢过一个没有违反群规的人,就算是被群管(不是作者)踢了这件事你也用不着一直耿耿于怀吧~技术之路本来就没有定式,我们也是尽量做好自己的产品

引用来自“headjoy”的评论

@流年 我当时在群里提的问题是tp5赋值报错问题,你能说说哪里违反群归了吗? 其他人在群里聊黄段子你却不踢?如果是其他群管踢我倒没什么,可你作为软件作者本人,就一句话不说把我踢了?你不觉得这说明个问题吗?

引用来自“子弹兄”的评论

踢就踢呗,可能管理员误踢,何必耿耿于怀…想进,再加一次即可,多大点事情
被踢出后,当即就私下询问被踢原因,不给回复,就能这么任性?作者刚刚还说从来没踢过一个没有违反群规的人,我现在就等作者回复我哪里违规了!如果作者能说他的群规只能聊黄段子,那我就确实违规了!已放弃tp,更不会再次加群。个人认为,不可预测是很大的风险,看看tp2、tp3和tp5吧,不能平滑升级,而且说不维护就不维护了,牛气!
0
已经不用tp了
0

引用来自“小时了了_大未必佳”的评论

流年大神一定是个牛逼的人,毋庸置疑,但是时间久了难免有点飘,【目前5.1版本尚处于RC阶段,仅供学习参考,请勿用于商业项目!】,其中‘仅供学习参考’有上对下之意,改成学习交流会好很多

引用来自“headjoy”的评论

@小时了了_大未必佳 tp5刚出来的时候在群里问了个框架问题,作者没给出任何理由就把我删除了,之后鄙人改用python的flask,现在回想起来,还是应该感谢作者,要不然,我到现在应该还在用tp,还在认为tp是宇宙最好的框架呢

引用来自“流年”的评论

兄弟,我从来没踢过一个没有违反群规的人,就算是被群管(不是作者)踢了这件事你也用不着一直耿耿于怀吧~技术之路本来就没有定式,我们也是尽量做好自己的产品

引用来自“headjoy”的评论

@流年 我当时在群里提的问题是tp5赋值报错问题,你能说说哪里违反群归了吗? 其他人在群里聊黄段子你却不踢?如果是其他群管踢我倒没什么,可你作为软件作者本人,就一句话不说把我踢了?你不觉得这说明个问题吗?
踢就踢呗,可能管理员误踢,何必耿耿于怀…想进,再加一次即可,多大点事情
0

引用来自“滔哥”的评论

感觉越来越像laravel了.

引用来自“流年”的评论

像与不像与否,并不重要,重要的是我们在改变,在拥抱新技术和新思想,很多主流框架的思想已经越来越接近了。TP5也不会复制一个laravel出来,走自己的路做好自己就行。
php都在像c# java学习,tp向laravel学习不足为怪,好用即可!支持流年!
0

引用来自“Gola”的评论

深刻的记得老刘在高级群里说不要容器的,这个版本老刘给个解释噻。另外,建议使用composer来管理framework,think-installer有点画蛇添足的味道。

引用来自“流年”的评论

容器只是内部架构的调整 对于用户来说 不需要知道容器的存在,之前的依赖注入的对象绑定在请求对象不太合理,所以改成了绑定到容器而已,开发者的用法并没有改变,facade也是为了简化调用和便于单元测试。至于composer的管理问题,团队在设计之初就曾经讨论过,最终定下了目前的方案。对于了解composer的人来说 想怎么折腾就折腾, 没有影响 对于新手来说 照顾体贴为好。而且不依赖composer的autoload在某些特殊的环境下也有优势。
@流年 你说什么就是什么呗,还是衷心希望tp在工程化、规范化这条路上继续奋斗,给企业级开发带来更多亮点。大道至简,保持特色。
0

引用来自“滔哥”的评论

感觉越来越像laravel了.
像与不像与否,并不重要,重要的是我们在改变,在拥抱新技术和新思想,很多主流框架的思想已经越来越接近了。TP5也不会复制一个laravel出来,走自己的路做好自己就行。
0

引用来自“Gola”的评论

深刻的记得老刘在高级群里说不要容器的,这个版本老刘给个解释噻。另外,建议使用composer来管理framework,think-installer有点画蛇添足的味道。
容器只是内部架构的调整 对于用户来说 不需要知道容器的存在,之前的依赖注入的对象绑定在请求对象不太合理,所以改成了绑定到容器而已,开发者的用法并没有改变,facade也是为了简化调用和便于单元测试。至于composer的管理问题,团队在设计之初就曾经讨论过,最终定下了目前的方案。对于了解composer的人来说 想怎么折腾就折腾, 没有影响 对于新手来说 照顾体贴为好。而且不依赖composer的autoload在某些特殊的环境下也有优势。
0
深刻的记得老刘在高级群里说不要容器的,这个版本老刘给个解释噻。另外,建议使用composer来管理framework,think-installer有点画蛇添足的味道。
顶部