分享好友 编程语言首页 频道列表

ThinkPHP V5.0.5 版本发布 — 祝大家新春快乐!

PHP教程  2017-02-05 16:350

ThinkPHP V5.0.5 版本发布,祝大家新春快乐,事业有成,“鸡”祥如意^_^

官方快速入门系列教程 新增了控制器从入门到精通

V5.0.5版本是年前最后一个发布版本,也是5.0系列版本的最后一个功能版本,主要改进和优化了数据库和模型部分,并修正了之前版本的一些问题。

主要调整

增加快捷查询及设置方法;

增加关联统计功能;

增加关联查询延迟预载入功能;

增加关联一对一自动写入和删除;

改进存储过程查询;

改进关联数据输出;

优化查询性能;

模型时间字段自动格式化输出;

升级指导

从`V5.0.4`升级到`V5.0.5`需要注意如下事项:

原生查询不再支持返回数据集对象。

`Connection`类的`model`方法已经更改为`getQuery`。

关联定义方法的`alias`参数已经废弃。

主要更新如下:

[请求和路由]

改进路由定义的后缀检测

Route类的rest方法支持覆盖定义

改进Request类的put和post方法对json格式参数的接收

Request类增加contentType方法

改进Route类setRule方法

改进Request类的create方法

改进路由到控制器类的方法对默认渲染模板的影响

修正Url类build方法定义路由别名后的BUG

[数据库和模型]

增加关联统计功能

增加一对一关联自动写入功能

修正聚合模型的delete方法

改进Model类的useGlobalScope方法

Model类的日期类型支持设置为类名

Query类增加data/inc/dec/exp方法用于快捷设置数据 insert和update方法参数可以为空 读取data设置数据

优化Connection的查询性能

修正Builder类的parseOrder方法

修正BelongsToMany类的attach方法

BelongsToMany类的attach方法改进 支持批量写入

改进BelongsToMany类的saveall方法 增加第三个参数 用于指定额外参数是否一致

Query类的order方法支持多次调用合并

改进count方法对group查询的支持

增加时间戳自动写入的判断

改进Model类writeTransform方法

改进Model的时间戳字段写入和读取

写入数据为对象的时候检测是否有__toString方法

改进Mysql驱动的getFields方法

改进自动时间字段的输出

like查询条件支持数组

自动时间字段的获取自动使用时间格式化

改进单个字段多次Or查询情况的查询

修正null查询的条件合并

改进Query类paginate方法第一个参数可以使用数组参数

改进数据集对象的返回,由Query类的select方法进行数据集转换,原生查询不再支持返回数据集对象

增加whereNull、whereIn等一系列快捷查询方法

fetchPdo方法调整

改进对存储过程调用的支持 改进getRealSql的调用机制 改进数据表字段使用中划线的参数绑定支持

数据库配置参数增加result_type 用于设置数据返回类型 方法参数名称调整

改进Query类的whereTime方法支持更多的时间日期表达式(默认查询条件为大于指定时间表达式)

取消min/max/sum/avg方法的参数默认值

Query类增加getPdo方法用于返回PDOStatement对象

改进today的日期表达式查询

改进关联属性的获取

改进关联定义中包含查询条件后重复执行的问题

改进参数绑定支持中文字段自动绑定

改进Builder类的insertall方法 增加对null和对象数据的处理

改进参数绑定类型 支持bit类型自动绑定

Connection类model方法更改为getQuery

优化Connection类__call方法

修正聚合模型

一对一关联预载入默认改为IN查询方式

增加collection助手函数用于数据集转换

增加load_relation助手函数用于数组的延迟预载入

改进Model类的has方法第二个参数支持使用数组和闭包,无需再使用hasWhere

relation方法支持嵌套关联查询

增加think\model\Collection作为模型的数据集查询集合对象

取消关联定义的alias参数(仅morphTo保留)

Model类的delete方法,支持没有主键的情况

Model类的allowField方法支持逗号分割的字符串

改进写入数据的自动参数绑定的参数名混淆问题

关联预载入查询的属性名默认使用小写+下划线命名

Query类的with和relation方法支持多次调用

Collection类增加hidden、visible和append方法

修正软删除的强制删除方法

[其它]

unique验证规则支持指定完整模型类 并且默认会优先检测模型类是否存在 不存在则检测数据表

改进Loader类的model、controller 和 validate方法 支持直接传入类名实例化

Session类增加安全选项

可以允许自定义Output的driver,以适应命令行模式下调用其它命令行指令

改进loader类action的参数污染问题

Validate类的confirm验证改为恒等判断

改进Validate类的错误信息处理

修正Validate类的布尔值规则验证

改进cookie助手函数对前缀的支持

[调整]

Connection类model方法更改为getQuery

原生查询不再支持返回数据集对象

[ 文档 ]

官方开发手册已经同步更新到V5.0.5版本

[ 5.0完全开发手册5.0快速入门系列 ]

[ 下载地址 ]

官网: 核心包

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-image.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

Workerman: https://github.com/top-think/think-worker.git

ThinkPHP V5.0——为API开发而设计的高性能框架

ThinkPHP V5.0.5 版本发布 — 祝大家新春快乐!

V5.0版本由 七牛云 独家赞助发布

ThinkPHP V5.0.5 版本发布 — 祝大家新春快乐!

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

2017年1月23日

ThinkPHP官方团队

查看更多关于【PHP教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
nginx 各类网站设置 (laravel , thinkphp , nodejs , https)
基础部分设置[root@centos ~]# vim /opt/nginx/conf/nginx.confuser www www;worker_processes auto;pid logs/nginx.pid;worker_rlimit_nofile 100000;events {use epoll;multi_accept on;worker_connections 65535 ;}http {include mime.types;default_type

0评论2023-02-09391

thinkphp5 IIS7.5 隐藏index.php的方法
?xml version="1.0" encoding="UTF-8"? configurationsystem.webServerrewriterulesrule name="WPurls" enabled="true" stopProcessing="true"match url=".*" /conditions logicalGrouping="MatchAll"

0评论2023-02-09977

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php
通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。 下面是Apache的配置过程,可以参考下:1、httpd.conf配置文件中加载了mod_rewrite.so

0评论2023-02-09938

在 thinkphp 中使用 laravel 的全部组件
作为一个使用 php 作为主力语言的公司,不管怎么说,在一些老的项目中,总会碰到使用 thinkphp 的。那么,热爱 laravel 的你,当你去开发新的 feature 时,大胆的去引入 laravel 的组件吧。不管是对于现在的开发效率,还是日后项目的重构,迁移都是有很大帮助

0评论2017-02-051201

Thinkphp3源码分析(2)
上次分析完了ThinkPHP3的入口文件(index.php),按照TP3源码的文件加载的顺序,今天开始分析path/ThinkPHP/ThinkPHP.php文件。为了方便解释,我直接先将path/ThinkPHP/ThinkPHP.php文件中的内容先粘贴出来(在代码中,我会加上自己理解的注释)。/--------------

0评论2016-12-23169

多商户商城 WSTMart 升级到 ThinkPHP 5.0.3
THINKPHP最近是喜闻不断,先是在大好中秋给PHP 开发者最好的礼物,推出了5.0正式版,然后在国庆前推出5.0.1版本,继而在程序员节发布5.0.2,双11又推出了新的版本5.0.3 ... ...THINKPHP开源框架在3.0版本已经是国内比较受欢迎的的开源框架,但开发团队一直与

0评论2016-11-22157

更多推荐