RC4版本主要改进包括ORM库独立,日志系统增加多通道支持,缓存、日志、数据库的配置文件统一调整为多通道模式,并做了大量的改进和修正。
RC4
ORM
本次更新相对于RC3版本主要涉及配置文件的更新,其它调整参考更新日志的用法调整部分。
RC3
think-orm
数据库和模型操作核心不再内置,改为统一依赖topthink/think-orm库(该类库已经包括其它的数据库驱动),用法保持一致,功能也没有任何的缺失。
topthink/think-orm
此前think-orm库已经独立更新维护,但一直是同步核心的ORM,2.0版本进行了架构调整,保持独立性的同时支持框架依赖,以后数据库操作这块统一在此类库更新。
2.0
对模型做了大量的功能改进,主要包括:
withField
withLimit
hasWhere
has
此次更新对日志类做了较大的调整和增强,主要包括:
具体用法变化可以参考之前的博客:6.0日志变化
Filesystem
Filesystem组件用以替代之前的上传类,提供了更多上传到远端的扩展库支持。
容器中的对象实例化之后,引入回调机制,利用该机制可以实现诸如注解功能等相关功能。
你可以通过resolving方法注册一个全局回调
resolving
Container::getInstance()->resolving(function($instance,$container) { // ... });
回调方法支持两个参数,第一个参数是容器对象实例,第二个参数是容器实例本身。
或者单独注册一个某个容器对象的回调
Container::getInstance()->resolving(\think\Cache::class,function($instance,$container) { // ... });
think-annotation
路由注解功能独立为think-annotation库,并且使用更加规范,支持IDE提示。
在多应用模式下,路由定义文件支持放入应用目录的route目录下。
route
view
模板根目录默认从应用目录下移动到根目录的view目录,如果是多应用模式的话,下面是应用子目录,如果你需要改回放入原先的应用目录下,可以在应用的template配置文件中定义view_path。
template
view_path
'view_path' => app_path('view'),
parseLike
ViewResponse
display
maker
Console/Table
Query
toArray
make:command
DateInterval
json
filesystem
options
time_query_rule
redis
invoke
withModel
withValidate
getLastInsID
paginateX
first
last
response/View
assign
pathinfo
__call
Trace
validate
bind
RedirectResponse
think optimize:schema
isPjax
subDomain
input
refresh
root
MorphTo
insert
connect
allowCrossDomain
chunk
checkSize
setRule
whereTime
request
switch
suffix
fetchArray
select
optimize:config
init
store
cache
timestamp
topthink/think-annotation
url_convert
route:build
find
service
vendor
LogLevel
user
更多内容可以参考6.0完全开发手册
评论删除后,数据将无法恢复
ThinkPHP 6.0 RC4 版本发布,ORM 独立及日志多通道支持
RC4版本主要改进包括ORM库独立,日志系统增加多通道支持,缓存、日志、数据库的配置文件统一调整为多通道模式,并做了大量的改进和修正。主要新特性
数据库和模型改为独立的
think-orm库数据库和模型操作核心不再内置,改为统一依赖
topthink/think-orm库(该类库已经包括其它的数据库驱动),用法保持一致,功能也没有任何的缺失。此前
think-orm库已经独立更新维护,但一直是同步核心的ORM,2.0版本进行了架构调整,保持独立性的同时支持框架依赖,以后数据库操作这块统一在此类库更新。模型功能增强
对模型做了大量的功能改进,主要包括:
withField和withLimit方法hasWhere方法对闭包查询条件的支持完善has/hasWhere的多次调用has/hasWhere方法支持软删除has/hasWhere查询日志支持多通道、并统一命令行和WEB日志格式
此次更新对日志类做了较大的调整和增强,主要包括:
具体用法变化可以参考之前的博客:6.0日志变化
增加
Filesystem组件Filesystem组件用以替代之前的上传类,提供了更多上传到远端的扩展库支持。容器对象增加回调机制
容器中的对象实例化之后,引入回调机制,利用该机制可以实现诸如注解功能等相关功能。
你可以通过
resolving方法注册一个全局回调回调方法支持两个参数,第一个参数是容器对象实例,第二个参数是容器实例本身。
或者单独注册一个某个容器对象的回调
路由注解独立为
think-annotation库路由注解功能独立为
think-annotation库,并且使用更加规范,支持IDE提示。多应用模式下路由定义支持纳入应用目录
在多应用模式下,路由定义文件支持放入应用目录的
route目录下。模板根目录默认放入根目录下的
view目录模板根目录默认从应用目录下移动到根目录的
view目录,如果是多应用模式的话,下面是应用子目录,如果你需要改回放入原先的应用目录下,可以在应用的template配置文件中定义view_path。更新日志
功能改进
parseLike查询ViewResponse类增加内容渲染输出支持display助手函数maker方法支持注入扩展验证规则Console/Table类withField和withLimit方法,并取消Query类withField方法withLimit的支持toArray方法make:command指令生成DateIntervaljson查询filesystem组件options请求类型hasWhere方法对闭包查询条件的支持完善time_query_rule数据库配置参数 用于自定义时间查询规则redis驱动invoke回调机制withModel和withValidate对各个路由设置不同的模型绑定和验证getLastInsID方法paginateX查询用于大数据分页查询first和last方法response/View类的assign方法pathinfo方法__call方法Trace机制validate助手函数,支持设置验证失败后是否抛出异常bind方法RedirectResponsethink optimize:schema指令isPjax判断问题修正
subDomain方法input助手函数refresh方法root方法MorphTo关联insert方法connect方法allowCrossDomain方法chunk方法checkSizesetRule方法whereTime查询request助手函数用法调整
switch更改为suffixfetchArray方法select查询方法默认返回数据集对象optimize:config指令init和connect方法取消 并入store方法cache助手函数取消初始化用法cache助手函数留空返回Cache对象timestamptopthink/think-annotationurl_convert配置参数route:build指令viewfind查询必须使用查询条件service配置文件默认放到vendor目录下LogLevel事件user配置改为通过静态方法设置当前执行用户更多内容可以参考6.0完全开发手册