康乐php5.2_5.2发布Beta2版本——统一和精简大量用法

### 2018 年 11 月 25 日 发布

经过20天的改进和测试,ThinkPHP5.2第二个`Beta`测试版本发布了。这次主要改进了`fetchSql`方法的处理机制,统一和简化了很多查询用法。(安装和基本使用请[参考这里](https://blog.thinkphp.cn/826584))

## 主要更新

### 改进了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`方法);

* 模型类的`setInc`和`setDec`方法;

* 数据库的`resultset_type`设置(需要的话调用`fetchCollection`方法);

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

## 更新日志

* 改进`join`方法的`table`参数解析

* 废弃save方法的`where`参数

* 取消模型类的`setInc`和`setDec`方法

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

* 取消模型和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`方法

* 修正`insertall`的`limit`参数

* 改进严格模式下的错误

* 改进`fetchSql`方法 增加`Fetch`对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值