• thinkphp6和thinkphp5有什么区别


    Thinkphp6.0完全开发手册

    1. 采用PHP7强类型(严格模式)

    tp5 环境要求PHP >= 5.4.0 ThinkPHP6.0的环境要求 PHP >= 7.2.5
    6.0版本开始,必须通过Composer方式安装和更新,所以你无法通过Git下载安装。

    1. 支持更多的PSR规范

    V6.0.10版本开始 支持 psr7 response

    1. 多应用支持

    tp5默认使用多应用模式部署
    tp6 安装后默认使用单应用模式部署
    如果要使用多应用模式,你需要安装多应用模式扩展think-multi-app。
    composer require topthink/think-multi-app

    1. ORM组件独立 (ORM,即Object-Relational Mapping(对象关系映射))

    新版的数据库和模型操作已经独立为ThinkORM库,默认安装应用的时候会自动安装,如果你不需要使用该ORM库的话,可以单独卸载topthink/think-orm后安装其它的ORM库

    基于PHP8.0+ 和PDO实现的ORM,支持多数据库,3.0版本主要特性包括:*
    基于PDO和PHP强类型实现
    支持原生查询和查询构造器
    自动参数绑定和预查询
    简洁易用的查询功能
    强大灵活的模型用法
    支持预载入关联查询和延迟关联查询
    支持多数据库及动态切换
    支持MongoDb
    支持分布式及事务
    支持断点重连
    支持JSON查询
    支持数据库日志
    支持PSR-16缓存及PSR-3日志规范

    6. 中间件机制

    ThinkPHP 6中增加了中间件的概念,
    中间件主要用于拦截或过滤应用的HTTP请求,并进行必要的业务处理。可以在请求处理的前后进行一些公共的操作,比如鉴权、日志记录等
    可以通过命令行指令快速生成中间件
    php think make:middleware Check

    1. 更强大和易用的查询

    ThinkPHP 6中采用了更加现代化的ORM方式,使得数据库操作更加灵活、方便

    1. 全新的事件系统

    新版的事件系统可以看成是5.1版本行为系统的升级版,事件系统相比行为系统强大的地方在于事件本身可以是一个类,并且 可以更好的支持事件订阅者。
    事件相比较中间件的优势是事件比中间件更加精准定位(或者说粒度更细),并且更适合一些业务场景的扩展。例如,我们通常会遇到用户注册或者登录后需要做一系列操作,通过事件系统可以做到不侵入原有代码完成登录的操作扩展,降低系统的耦合性的同时,也降低了BUG的可能性。
    件系统的所有操作都通过think\facade\Event类进行静态调用
    V6.0.3+版本开始,事件机制不能关闭

    1. 支持容器invoke回调

    ThinkPHP使用容器来更方便的管理类依赖及运行依赖注入,新版的容器支持PSR-11规范。
    容器类的工作由think\Container类完成,但大多数情况我们只需要通过app助手函数或者think\App类即可容器操作,如果在服务类中可以直接调用this->app进行容器操作。

    1. 模板引擎组件独立

    thinkphp5 默认加载官方模版引擎
    新版框架默认只能支持PHP原生模板,如果需要使用thinkTemplate模板引擎,需要安装think-view扩展(该扩展会自动安装think-template依赖库)。
    composer require topthink/think-view

    1. 内部功能中间件化

    部分核心功能中间件化(页面Trace、多语言、请求缓存和Session初始化)

    1. SESSION机制改进

    ThinkPHP5 采用think\Session类提供Session功能支持。默认是开启的
    thinkphp6
    Session功能默认是没有开启的(API应用通常不需要使用Session)可以直接使用think\facade\Session类操作Session

    1. 缓存及日志支持多通道

    日志系统增加多通道支持,缓存、日志、数据库的配置文件统一调整为多通道模式,并作了大量的改进和修正 。

    日志的配置文件是配置文件目录下的log.php文件,系统在进行日志写入之前会读取该配置文件进行初始化。可以添加多个日志通道,每个通道可以设置不同的日志类型。日志配置参数根据不同的日志类型有所区别,内置的日志类型包括:file,日志类型使用type参数配置即可。

    新版的缓存支持多通道,你可以事先定义好所有的缓存类型及配置参数,然后在使用的时候可以随时切换。默认使用的是文件缓存类型,你可以添加redis缓存支持

    1. 引入Filesystem组件(磁盘配置)

    系统类库 think\Filesystem 容器绑定标识 filesystem

    1. 对Swoole以及协程支持改进

    提升swoole下多应用的性能

    命名空间:ThinkPHP 6采用了更加现代化的命名空间方式,使得代码结构更加清晰。

    目录结构:ThinkPHP 6中的目录结构进行了一些调整,比如把application目录下的config、controller、model等目录都移到了app目录下,这样更加符合现代化的开发方式。

    注解路由:ThinkPHP 6引入了注解路由的概念,可以通过注解的方式来定义路由,使得路由定义更加灵活。

    中间件:ThinkPHP 6中增加了中间件的概念,可以在请求处理的前后进行一些公共的操作,比如鉴权、日志记录等。

    数据库操作:ThinkPHP 6中采用了更加现代化的ORM方式,使得数据库操作更加灵活、方便。

  • 相关阅读:
    【OpenCV】Chapter6.频率域图像滤波
    日本卫生设备行业协会:日本温水喷淋马桶座出货量达1亿套
    Linux:firewalld防火墙-介绍(1)
    (附源码)spring boot校园二手交易平台 毕业设计 191637
    Opengl之深度测试
    Maven的聚合 继承 属性 版本管理 多环境资源配置 跳过测试
    第十八章《JDBC》第2节:JDBC编程
    Redis五大基本数据类型
    关于windows下tensorflow的配置与开发
    爬虫爬取人民网
  • 原文地址:https://blog.csdn.net/qq_31315703/article/details/130899457