热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ThinkPHP发布5.2Beta2版本——统一并精简大量用法

ThinkPHP5.2第二个引入了单独的本次测试版本统一和精简了很多查询用法,让你不会再有一个查询功

ThinkPHP5.2第二个 Beta 测试版本发布了。这次主要改进了 fetchSql 方法的处理机制,统一和简化了很多查询用法。(安装和基本使用请 参考这里 )

主要更新

改进了fetchSql的解析机制

引入了单独的 Fetch 类单独处理 fetchSql 方法,确保 Query 类查询方法的返回类型不受 fetchSql 影响。

统一和精简了查询用法

本次测试版本统一和精简了很多查询用法,让你不会再有一个查询功能多种用法的困扰,便于制定团队规范。

  • get / all 查询方法统一为 find / select 方法;

  • 取消 fetchPdo 方法,返回PDO对象统一使用 pdo 查询方法;

  • 废弃 resultset_type 配置统一使用 fetchCollection 方法;

  • 取消 readMaster 方法,统一使用 master 方法;

  • 模型 save 方法不支持传入条件,统一查询和更新方法调用;

  • 取消 db / model 助手函数,统一使用类调用;

增加了 fetchArray 方法

如果使用了模型查询,现在可以通过调用 fetchArray 方法,查询结果将始终返回数组数据。方便一些统计图表的数据传入。

时间字段写入改用 DateTime

时间字段的自动操作改用 DateTime 类,支持微秒级时间记录,提供更高精度的系统时间记录。

只需要设置数据表时间字段的小数位精度即可自动记录,如果需要输出微秒精度数据,设置 dateTimeFormat 格式即可。

模型增加 schema 属性

模型增加 schema 属性支持,用于定义对应数据表的字段及类型信息,并且支持使用 PHP 变量类型定义。定义了该属性后,无需使用 optimize:schema 即可提升查询性能,以及自动识别字段的参数绑定类型。

模型的 type 属性仅用于设置自动类型转换的数据表字段。

支持应用公共函数文件

多应用模式下,支持加载应用的公共函数文件。

多入口文件自动识别

如果没有在应用入口文件中指定应用名,入口文件访问的时候可以自动识别当前的应用名称。默认会取当前应用入口的文件名作为应用名。

部分方法不再支持

以下用法出于实用性或精简考虑不再支持:

  • Query 类的 fetchPdo 方法(可以使用 pdo 方法替代);

  • Query 类的 get / all / getOrFail / allOrFail 方法;

  • 模型类的 save 方法不再支持 where 参数;

  • Query 类和模型类的 readMaster 方法,该方法在 swoole 下无法正常使用(需要的话手动调用 master 方法);

  • 模型类的 setIncsetDec 方法;

  • 数据库的 resultset_type 设置

    (需要的话调用 fetchCollection 方法);

  • db 助手函数(使用 Db 类静态方法替代);

更新日志

  • 改进 join 方法的 table 参数解析

  • 废弃save方法的 where 参数

  • 取消模型类的 setIncsetDec 方法

  • 改进模型字段信息的获取

  • 取消模型和Db类的 readMaster 方法

  • 改进参数绑定类型获取

  • Query类增加 fetchArray 方法 支持模型查询返回数组类型

  • 时间字段自动写入改为使用 DateTime 类,支持微秒数据

  • 改进验证类 扩展验证规则的时候不检查是否require

  • 改进查询CURD方法

  • 修正模型输出

  • 改进 update 方法

  • 修正 insertGetId 方法

  • 修正 getFieldType 方法

  • 改进 think schema 指令

  • 改进缓存和日志的路径获取

  • 删除 db 助手函数 修正几个助手函数

  • Builder类 select 方法增加第二个参数

  • 取消 resultset_type 设置

  • 修正动态查询方法的 fetchsql 处理

  • 改进多应用入口文件的自动识别

  • 修正server方法的返回类型

  • 多应用模式允许加载公共函数文件

  • 修正路由类 getBind 方法

  • 改进 session 配置参数

  • 修正资源路由

  • 改进 console

  • 修正 make 指令

  • 改进控制器 assign 方法

  • 修正 COOKIE

  • 修正 request

  • 修正 console 调试驱动

  • 取消Query类的 get / all 方法 统一使用 find / select 方法

  • 取消 fetchPdo 方法

  • 修正 insertalllimit 参数

  • 改进严格模式下的错误

  • 改进 fetchSql 方法 增加 Fetch 对象


以上所述就是小编给大家介绍的《ThinkPHP 发布 5.2 Beta2 版本——统一并精简大量用法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 我们 的支持!


推荐阅读
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • 小程序wxs中的时间格式化以及格式化时间和date时间互转
    本文介绍了在小程序wxs中进行时间格式化操作的问题,并提供了解决方法。同时还介绍了格式化时间和date时间的互相转换的方法。 ... [详细]
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • java drools5_Java Drools5.1 规则流基础【示例】(中)
    五、规则文件及规则流EduInfoRule.drl:packagemyrules;importsample.Employ;ruleBachelorruleflow-group ... [详细]
author-avatar
忧伤玫瑰coco_873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有