ThinkPHP V5.0.4 版本发布——喜迎双“旦”

   2016-12-23 0
核心提示:喜迎双旦,ThinkPHP V5.0.4版本发布^_^ThinkPHP V5.0——为API开发而设计的高性能框架ThinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰

喜迎双旦,ThinkPHP V5.0.4版本发布^_^

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

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

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

V5.0.4版本比5.0.3更稳定和规范,并增加了一些新的特性。

主要调整

关联模型重构并增加多态一对多关联;

数据库支持一个字段多次调用不同查询条件;

增加数据库CURD事件支持;

路由到类和控制器的方法支持传入额外参数;

支持全局模板变量赋值;

模型支持独立设置查询数据集对象;

日志针对命令行及调试做出改进;

改进Hook类的行为方法调用;

升级指导

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

模型的关联定义方法必须采用驼峰法(小写字母打头)命名规范,但关联调用可以支持驼峰和小写方式。

行为类的方法必须使用驼峰法命名,如果你使用了钩子位作为行为执行方法入口,请修改为驼峰法,例如 `app_init`钩子位对应的行为方法名应该是 `appInit`。

如果你使用了Query类的`fetchClass`方法自定义数据集返回对象的话,请改为在模型中设置`resultSetType`属性,数据库类不再支持自定义查询数据集对象(只支持数组和系统的`think\Collection`数据集对象)

主要更新如下:

[请求和路由]

请求缓存支持模块单独开启

Request类post方法支持获取json方式的请求数据

路由到类的方法和控制器方法 支持传入额外参数,用于方法的参数

改进控制器自动搜索的目录规范

改进请求缓存

改进自动参数绑定

修正路由的请求缓存设置

改进Route类name方法

[数据库和模型]

增加数据库查询(CURD)事件

改进多表更新的字段不存在问题

改进Model类的useGlobalScope方法

修正子查询作为表名查询的问题

Model类增加resultSetType属性 用于指定模型查询的数据集对象(默认为空返回数组)

Model类增加toCollection方法(自动调用)

关联模型架构调整

改进预载入with方法的参数支持小写和下划线定义

修正关联多对多一处错误

改进关联多对多的查询

关联模型支持多态一对多关联

预载入关联查询支持关联对象属性绑定到当前模型

支持追加关联对象的属性到当前模型数据

一对一关联预载入支持JOIN和IN两种方式(默认为JOIN)

改进多对多查询

改进模型更新的数据变化比较规则

查询支持一个字段多次查询条件

改进sql日志的sql语句

修正join自身表的别名覆盖问题

模型类的connection属性和数据库默认配置合并

改进in和between查询条件的自动参数绑定

改进Query类对数据集对象以及关联字段排序的支持

增加模型的快捷事件方法

改进Query类的getTableInfo方法缓存读取

model类的saveAll方法支持调用allowField方法进行字段过滤

修正关联查询的时候 whereTime方法的bug

改进Query类的聚合查询

table方法支持字符串方式的子查询

修正count avg方法使用fetchsql无法正确返回sql的问题

[其它]

改进命令行下的日志记录

部署模式下简化日志记录

增加debug日志类型 仅限调试模式记录

改进Template类parseTemplateFile方法

改进Validate类的getRuleMsg方法

控制器的error方法在AJAX请求默认返回url为空

Validate类架构方法增加field参数 用于设置验证字段的描述

改进App类invokeMethod方法对架构函数依赖注入的支持

增加RedirectResponse的restore方法返回值

View类增加share静态方法 用于静态赋值模板变量

验证类增加hasScene方法判断是否存在某个场景的验证配置

修正redis和session驱动的destroy方法返回值

空操作方法的参数传入去掉操作方法后缀

在控制器中调用request和view增加类型提示

改进input助手函数支持多维数据获取

Cache类增加pull和remember方法

改进验证类的confirm验证规则 支持自动规则识别

改进验证类的错误信息定义

增加Validate类自定义验证错误信息的替换规则

Cookie类增加forever方法用于永久保存

模板渲染支持从视图根目录读取模板

改进Hook类的exec方法

[调整]

Db类查询不再支持设置自定义数据集对象

废除Query类的fetchClass方法

控制器的error方法在AJAX请求默认返回的url为空

关联方法定义不支持使用小写下划线,必须使用驼峰法

行为类的方法必须使用驼峰法命名

[ 文档 ]

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

[ 5.0完全开发手册5.0快速入门5.0路由完全指南5.0控制器从入门到精通 ]

[ 下载地址 ]

官网: 核心包

GitHub: https://github.com/top-think/think.git (主要维护仓库 官方核心团队)

应用项目:https://git.oschina.net/liu21st/thinkphp5.git

核心框架:https://git.oschina.net/liu21st/framework.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.4 版本发布——喜迎双“旦”

2016年12月20日

ThinkPHP官方团队

 
标签: ThinkPHP 数据库
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • nginx 各类网站设置 (laravel , thinkphp , nod
    基础部分设置[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
    02-09
  • 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"
    02-09
  • ThinkPHP 利用.htaccess文件的 Rewrite 规则隐
    通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。 下面是Apache的配置过程,可以参考下:1、httpd.conf配置文件中加载了mod_rewrite.so
    02-09
  • 【小程序+thinkphp5】 用户登陆,返回第三方session3rd
    【小程序+thinkphp5】 用户登陆,返回第三方ses
    服务器环境: centos7   php7.0准备工作: 注册小程序,并获取 appid 、appsecret下载微信解密算法sdk : https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.htmlhttps 的域名。需要在小程序后台服务器域名那配置   代码实现 一 、 thinkphp5 
    02-09
  • 码云推荐 | 基于 ThinkPHP5 的通用后台 lyadmin_v2
    码云推荐 | 基于 ThinkPHP5 的通用后台 lyadmin
    lyadmin_v2 项目介绍 lyamdin是一套轻量级通用后台,采用Bootstrap3制作,自带权限管理,模块化开发。lyadmin_v2是基于ThinkPHP5全新开发的新版本。真正原创的Builder页面生生成器完美支持2.0并且支持多达38中表单类型的支持,包括但不限于文本、富文本、图片
  • 在 thinkphp 中使用 laravel 的全部组件
    作为一个使用 php 作为主力语言的公司,不管怎么说,在一些老的项目中,总会碰到使用 thinkphp 的。那么,热爱 laravel 的你,当你去开发新的 feature 时,大胆的去引入 laravel 的组件吧。不管是对于现在的开发效率,还是日后项目的重构,迁移都是有很大帮助
  • ThinkPHP V5.0.5 版本发布 — 祝大家新春快乐!
    ThinkPHP V5.0.5 版本发布 — 祝大家新春快乐!
    ThinkPHP V5.0.5 版本发布,祝大家新春快乐,事业有成,“鸡”祥如意^_^官方快速入门系列教程 新增了控制器从入门到精通 V5.0.5版本是年前最后一个发布版本,也是5.0系列版本的最后一个功能版本,主要改进和优化了数据库和模型部分,并修正了之前版本的一些问
  • 基于thinkphp的音乐网站源码
    基于thinkphp的音乐网站源码
    KSmusic音乐网站源码是一个以php+MySQL进行开发的免费音乐网站源码,只需进行简单的设置,即可拥有属于自己的音乐网站。 更新日志:标签增加 分页功能 大大增加数据自由性专辑 count 标签 用于读取数据总数量新增上一个,下一个标签 ,新增 网盘下载设置项新
  • 在线工单售后客户服务管理系统(thinkphp内核)
    在线工单售后客户服务管理系统(thinkphp内核)
    THINKPHP内核的工单系统,非常适合于售后客户服务,二开后对接到网站系统是非常不错的哦,可以添加客户和售后人员,支持短信和邮件提醒,只需要在后台配置好就行了,还是非常简单的。1、系统管理1.1:客户管理:可实现对职员的管理,可添加职员,并对不同角色
    01-06 ThinkPHP
  • thinkphp 模板解析的流程
    thinkphp 模板解析的流程
    ThinkPHP控制器中在每一个方法的最后都有这样的一句话 ,你确定对这句话非常了解吗?$this-display();当然你会说这句话是用来解析或显示控制器的方法所对应的模板的。有了这句,模板里的内容才可以正常显示,没有这句话就会抛出错误:模板不存在。但是这句话是
    12-23 ThinkPHP
点击排行