首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  推广

ThinkPHP6.0RC2 版本发布——架构升级、精简核心

  •  
  •   topthink · 209 天前 · 4322 次点击
    这是一个创建于 209 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自从5.2版本变更为6.0以来,官方一直致力于优化架构和精简核心,同时也在准备手册和测试工作,在经过近 1 个月的开发迭代后,官方宣布发布 ThinkPHP6.0RC2版本。

    主要更新

    相比较RC1版本更新调整较大,主要更新如下:

    • 底层架构针对协程做优化调整
    • 增加 WEB 应用管理类Http
    • 增加应用初始化服务和服务注册机制
    • 查询事件和模型事件使用事件系统接管
    • Session类重构,不再使用 PHP 内置会话
    • Cookie类仅支持设置和写入,不再支持读取
    • 取消Config类的动态设置功能
    • 部分核心功能中间件化(页面 Trace、多语言、请求缓存和 Session 初始化)
    • 取消惯例配置文件
    • 增加驱动接口规范驱动开发
    • 改进 Db 类和查询类
    • 精简一些不必要的类库
    • 改进路由注册
    • 由于异常的需要View类改为内置,但默认仅支持原生 PHP 模板
    • 大量细节改进和修正

    安装框架

    6.0版本仅支持composer安装(建议使用国内镜像安装),也不再支持Git安装,由于尚未正式发布,目前仅支持安装6.0.x-dev开发版本。

    composer create-project topthink/think=6.0.x-dev tp
    

    关于扩展

    一些常用的官方扩展已经基本升级完成,但仍然可能存在问题,官方会继续完善及做好充分的测试,在此之前请不要完全依赖这些扩展。

    开发手册(预览版)

    官方完全开发手册已经发布,但仅仅是预览版,会随着框架的更新不断完善。欢迎大家在使用和学习的过程中及时反馈问题和建议,帮助我们尽快把新版趋于完善。

    开发手册扫小程序码直接阅读

    如果遇到问题,可以加入 QQ 群:789324282(仅限于6.0版本交流反馈),一起交流。

    44 回复  |  直到 2019-05-18 15:01:17 +08:00
        1
    yase   209 天前
    哇,都出到 6 啦,我还用 5 呢。
        2
    xoxo419   209 天前
    还在用 3 呢、打算看下 5 的、6 都已出了、emmmm~
        3
    Fleey   209 天前
    求求你别更新了,劳资学不动了。
        4
    jevonszmx   209 天前
    @xoxo419 老项目还在用 2 的路过。。。
        5
    baiban   209 天前
    求求你们别更新了,把精力放到修复 BUG 和优化性能上吧。TP 更新太频繁了,向下兼容性太差。
        6
    liuguang   209 天前
    随心所欲的改,呵呵,,我反正是不用了
        7
    sansanhehe   209 天前
    可以可以
        8
    dvaknheo   209 天前
    Session 类重构,不再使用 PHP 内置会话
    Cookie 类仅支持设置和写入,不再支持读取

    这两个是什么 ?
        9
    jon   209 天前
    更新要改代码吗
        10
    ritaswc   209 天前
    看了 6.0 的目录结构,之前的代码几乎要大改才能放入现有的目录结构中,我先说一下优点吧
    1、不需要在 application(app)目录下,必须要有一个模块,例如 index
    2、终于把傻 X 的 /thinkphp 挪到 vendor 下面了
    3、终于没有那么多 hard code 的东西了

    待优化:
    1、为什么 demo 的 app/controller/Index.php 没有继承一个 BaseController 的东西???
    2、数据库的配置为什么要写死啊啊啊啊,不能用'hostname' => env('DB_HOSTNAME', '127.0.0.1') 这种可以读取根目录下面的.env 文件,以方便多环境不同数据库配置啊
    3、建议使用 Symfony/Foundation 基础轮子,这样子大家设计 PHP 轮子的时候,完美兼容 TP 了


    其实看到 TP 是由衷的恨铁不成钢,没有把 PHP 新特性、别的语言优秀的设计思想拿来,感觉就是自己琢磨一套
    多去国外 PHP 社区看看风气,着急死了
        11
    ritaswc   209 天前
    PS:我有在 github 上给 TP 提交一些 PR,暂时没有心力参与 6.0 的优化中,我还是希望 TP 越来越好的,不然也不需要写那么多文字了
        12
    ywisax   209 天前
    讲真没什么吸引力。。。
        13
    2589595915   209 天前 via iPhone
    @ritaswc 感谢你的回复。
        14
    qianmeng   209 天前 via Android
    前几天用 tp5 改了个东西,感觉还是不错的
        15
    topthink   208 天前
    @ritaswc 首先感谢建议
    1 控制器是否需要继承 取决于自身 实例没必要继承
    2 数据库怎么配置自己来决定 那个只是默认配置
    3 目录结构对于之前的 5.1 来说并没有大改 是不过原来的多模块设计变成多应用设计而已

    恨铁不成钢能理解 但 TP 这么多年还能保持更新 而且在追随主流现代化框架设计思想,原有用户都一直在抱怨每次升级变化太大,所以需要从 TP 用户群成长性考虑 ,也没有什么特别的 PHP 新特性需要引入了 其它的功能支持都是纳入扩展的规范
        16
    GTim   208 天前
    TinkPHP 源码的目录结构是越来越好了..赞一个

    TP5 的 Jump 单独一个目录,强迫症真的受不了
        17
    topthink   208 天前
    @GTim 因为 traits 目录是计划增加更多的 trait 的
        18
    ThankYou   208 天前
    赞一个
        19
    topthink   208 天前
    @baiban 如果不更新,就有人会说官方不思进取,更新频繁了又会有人抱怨,所以走自己的路,让别人说去吧!选择合适自己的版本最重要~
        20
    ritaswc   208 天前   ♥ 1
    @topthink 我是很希望 TP 带领中国 PHP 走向正轨,把中国的技术环境带高一个层次,任重道远,我会支持的
        21
    JaguarJack   208 天前 via iPhone
    支持 就是版本跨度太大 应该在 5 开始就拥抱 composer
        22
    dvaknheo   208 天前
    6.0 可以作为试验版本, 5.0 稳定版本,3.2 php5 版本这么规划呗。
        23
    neilp   208 天前
    兼容性啊, 大哥。
    前几天想把一个项目升级, 之前是 tp3, 看了下 tp5。
    然后我决定用 nodejs 重写了。
        24
    topthink   208 天前
    @JaguarJack 在拥抱 composer 这件事上 TP 的策略是循序渐进的 因为太多用户卡在这个环节,经过两个版本的过渡,6.0 版本才强制使用 composer 安装( 5.0 和 5.1 是支持 composer 安装,并且 5.1 版本开始不提供官方下载)
    @dvaknheo 5.0 基本不更新了 5.1 目前是稳定版本而且是 LTS 虽然 3.2 的用户群还有很多,但官方已经无法支持了 6.0 是目前主要更新迭代版本
    @ritaswc 感谢支持
        25
    815979670   208 天前
    能不能把文档完善完善再完善?很多坑是因为文档介绍不清楚导致的
    比如 ThinkPHP5.0 foreach 模板标签 在文档里面没有 index 这个属性 我写的时候 随便试了一下 居然有这个用法??
    我再去反复看官方手册确认 完全没有提到这个属性
    (话说 ThinkPHP5.2 跳到 6.0,是不是为了抢 “比 laravel6 发布更早”这个名号才改的,个人观点 不喜勿喷)
        26
    ben1024   208 天前
    感觉现在更需要优先扩大社区的影响力和规模,对于业务的解决方案。
        27
    JackLiang   208 天前
    上一次用 TP 还是 3,这么快就 6 了
        28
    wo642436249   208 天前   ♥ 1
    哎,看不到什么特别吸引的地方,说实话我虽然没仔细看 tp6 的源码,作为一个一直将 tp5.0/tp5.1 作为生产项目使用框架的开发者表示,就此至今放弃在今后的新项目中使用 tp,而转用 laravel 或 yii3.0
        29
    xavier007   208 天前
    @ritaswc env 方式读取 5.0 就有了,这个我看了看也支持啊
        30
    passerbytiny   208 天前
    只能使用 composer create-project,也就意味着只能给新项目或重构项目使用了,这进而意味着 TP 只适合速成,不适合持续集成。
        31
    demo2025   208 天前
    公司好几个项目都是用 tp5.1 开发的,很不错,当然也有很多不足。
        32
    ritaswc   208 天前
    @xavier007 我知道的,我推荐这么做,在使用 git 的时候,非常舒服
        33
    topthink   208 天前
    @passerbytiny 你可能有所误会 其实本意是想说只支持 composer 安装而已 create-project 只是新手安装方便而已
    @wo642436249 你可以具体反馈下不适用的原因 或者给我们提建议
    @815979670 TP6 是从之前的 5.2 版本变更而来,就是因为底层架构调整较大,无法满足 5.1 版本的无缝升级,因此更名的
        34
    HiCode   208 天前
    tp 的作用只剩下用来筛选求职者了,在这一方面挺高效的!
        35
    dvaknheo   208 天前
    \vendor\topthink\framework\src\think\console\bin\hiddeninput.exe

    src 里放这个不太好吧
        36
    topthink   207 天前
    @dvaknheo 放了你又能干嘛?又不是 web 部署目录 你去看下 symfony 的 console
        37
    dvaknheo   207 天前
    @topthink 如果是我,我放在 和 src 同级的 bin 目录
        38
    doyouhaobaby   206 天前
    任重而道远,数据库和 model 多写到测试用例,毕竟有一定复杂度,可维护性大大提高。
        39
    ThankYou   202 天前
    5.1 文档 composer require topthink/think-captcha 安装验证码 会报错
        40
    topthink   201 天前   ♥ 1
    @ThankYou 不要安装 3.0 版本 5.1 只能安装 2.0 版本
        41
    baiban   197 天前
    @topthink 不是不让你们更新,是让你们尽量改在性能和稳定性上。不要在小版本里总是改一些向下不兼容的东西。很多过去用低版本 TP 开发的项目,根本不敢更新。或者更新成本太大。语法尽量不要去动。如果觉得不合理,那就积攒一些一起开个新的大版本分支,新特性不要放到老版本上。
        42
    topthink   196 天前
    @baiban 5.0 和 5.1 上有一些不兼容更新主要是安全更新导致的 一般不太可能变动语法,而且新版之所以跨版本发布也是考虑到升级问题
        43
    ritaswc   183 天前
    @topthink 大哥,解决一下 model 预加载的问题,我要疯了
    bug 也有提交
    http://www.thinkphp.cn/bug/4807.html
        44
    ritaswc   183 天前
    @topthink 有空顺手再把我的 PR 给 merge 一下
    https://github.com/top-think/think-captcha/pull/35
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4119 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 38ms · UTC 01:48 · PVG 09:48 · LAX 17:48 · JFK 20:48
    ♥ Do have faith in what you're doing.