首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ThinkPHP发布5.2Beta3版本

本次更新了大量的细节,进一步统一和精简了用法,并且新增了一些功能。

在正式版发布之前,不建议用于正式项目,目前也还没有完善的文档和详细的测试。

主要更新

相比较版本(版本更新参考这里),除了一些修正和改进外,主要包含了如下的功能更新和调整。

视图和模板引擎从核心分离

视图和模板引擎类不再内置到核心框架,需要的时候可以单独通过

安装,如果使用

会默认安装该组件(如果不需要使用的话可以自己卸载)。

安装后,由于内置的类不再封装视图方法,如果你的控制器类需要调用//等视图方法,必须继承 类,使用助手函数方式用法不变。

取消数据库的//方法

原来的//方法不再支持,使用//方法替代。例如:

取消查询表达式

由于存在两种用法,并且不够直观,全部统一为更直观的用法。

下面的用法不再支持

统一使用

取消分表功能

出于分表的性能问题和复杂性,不再提供分表方法,建议使用数据库的分区功能替代。

增加年/月/日的便捷日期查询方法

可以使用下面的便捷日期查询

原生查询也可以支持查询缓存

使用query进行SQL语句查询的时候也可以支持查询缓存,例如:

如果使用了数据库的读写分离,需要从主库查询的话,需要使用

数据库的查询统计合并

数据库的查询次数合并到,不再区分读写操作,你可以使用下面的方法获取当前请求的数据库查询次数(包括读写)

模型延迟自动保存

模型增加延迟保存方法,调用该方法后不会马上保存数据,仅仅是保存在内存中,当前模型对象销毁的时候或者下次显式调用方法的时候都会自动保存到数据库。

模型事件调整

模型事件不再支持使用方法注册事件,统一使用模型事件观察者类,你只需要在模型定义或者初始化的时候设置属性。

所有的模型事件统一在观察者类中进行定义,方法的命名规范如下:

并且模型增加事件,在查询后创建模型对象实例的时候触发。

模型属性和数据表字段的对应关系

默认情况下,模型对象数据字段严格区分大小写,你可以关闭严格模式(前提是必须保持数据表字段的小写和下划线定义规范),然后在模型中使用的时候,如果使用驼峰命名调用,则会自动转换为小写和下划线规范的字段(关连模型除外),例如:

然后,下面的代码

和下面的用法是等效的

如果你的数据表字段不符合规范(存在大小写混合使用的情况),那么必须在模型中开启属性。

增加乐观锁功能

和软删除一样,增加了一个Trait用于方便引入扩展模型的乐观锁功能。

增加支持

支持规范,增加依赖,类增加方法替代之前的静态方法。

增加闭包数据的缓存序列化支持

添加了依赖用于支持闭包的序列化支持。

增加自动多应用支持

支持在同一个入口文件中访问多个应用,并且支持应用的映射关系以及自定义。

例如在入口文件中使用:

就可以不必创建入口文件自动通过URL访问多个应用

如果你的默认应用不是(默认为入口文件名),那么可以通过方法指定默认应用。

支持应用名的别名映射,例如:

如果需要对某个应用进行自定义,可以使用

取消别名路由

因为使用场景有限和性能开销问题,取消原来的别名路由功能,建议使用资源路由或者单独的路由替代。

取消快捷路由

因为使用场景有限和不太符合规范,取消了原来的控制器快捷路由功能。

取消空操作功能

建议使用分组MISS路由功能替代。

应用类库后缀规范

取消了和配置参数,App类增加了方法用于开启控制器类库的后缀(默认不开启)。其它应用类库的后缀由项目自己决定,框架不再强制规范。

需要注意的是,如果你的模型类命名使用了后缀的话,一定要定义属性或者属性。

异常响应输出类型

增加配置参数用于设置异常响应输出的类型,默认为类型。如果你的应用全部用于接口开发,可以配置为类型。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190131G0GOI100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券