V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kancloud
V2EX  ›  PHP

这个中秋节给 PHP 开发者最好的月饼——ThinkPHP5.0 正式版发布

  •  
  •   kancloud · 2016-09-15 17:52:12 +08:00 · 7087 次点击
    这是一个创建于 2778 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ThinkPHP5.0 正式版的发布,是团队中秋节送给 PHP 开发者最好的礼物!祝大家中秋快乐,事业顺利,用 ThinkPHP 开发更健康^_^

    ThinkPHP5.0 版本是一个颠覆和重构版本,采用全新的架构思想,引入了更多的 PHP 新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持 composer ,并针对 API 开发做了大量的优化,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有 3.2 项目的升级,请慎重考虑商业项目升级,但绝对是新项目的首选(无论是 WEB 还是 API 开发)。

    [主要特性]

    • 规范:遵循 PSR-2 、 PSR-4 规范, Composer 及单元测试支持;
    • 严谨:异常严谨的错误检测和安全机制,详细的日志信息,为你的开发保驾护航;
    • 灵活:减少核心依赖,扩展更灵活、方便,支持命令行指令扩展;
    • API 友好:出色的性能和 REST 支持、远程调试,更好的支持 API 开发;
    • 高效:惰性加载,及路由、配置和自动加载的缓存机制;
    • ORM:重构的数据库、模型及关联, MongoDb 支持;

    支持 ThinkPHP5 的用户请到 Github 给我们一个star ^_^

    [ 文档 ]

    ThinkPHP5.0 快速入门》 《ThinkPHP5.0 完全开发手册

    [ 下载地址 ]

    • 官网:官网下载
    • GitHub : GitHub(主要维护仓库 官方核心团队)
    • Composer : composer create-project topthink/think tp5 --prefer-dist

    [ 扩展包 ]

    下面是针对 ThinkPHP5 的扩展包 需要使用 Composer 安装

    通过支付宝捐赠支持我们:

    ThinkPHP 官方小组 2016 年中秋

    66 条回复    2016-10-03 03:24:08 +08:00
    testisitok
        1
    testisitok  
       2016-09-15 18:01:26 +08:00 via Android
    感谢!
    BMW
        2
    BMW  
       2016-09-15 18:11:05 +08:00
    en
    BMW
        3
    BMW  
       2016-09-15 18:12:35 +08:00   ❤️ 1
    这月饼味道一般,还是喜欢 sf 味道的。
    466934322
        4
    466934322  
       2016-09-15 18:37:27 +08:00 via Android
    小白菜路过,不要问为什么。顶贴没商量
    batnss
        5
    batnss  
       2016-09-15 18:58:18 +08:00 via Android
    支持下
    whahuzhihao
        6
    whahuzhihao  
       2016-09-15 18:59:15 +08:00 via iPhone
    tp5 还是很不错的,支持一下
    chinvo
        7
    chinvo  
       2016-09-15 19:27:01 +08:00
    撒花~
    Lyvnee
        8
    Lyvnee  
       2016-09-15 19:39:35 +08:00
    我也来凑个热烈~
    hanbing0715
        9
    hanbing0715  
       2016-09-15 19:53:38 +08:00 via Android
    支持一个
    jon
        10
    jon  
       2016-09-15 20:59:28 +08:00
    真快 tp 都出到 5.0,
    netcan
        11
    netcan  
       2016-09-15 21:02:10 +08:00   ❤️ 1
    还是喜欢 laravel
    PP
        12
    PP  
       2016-09-15 21:10:32 +08:00 via iPad   ❤️ 3
    可能我的疑问有些不合时宜,公开索要 STAR 的做法在开发者群体中很流行吗?
    Moker
        13
    Moker  
       2016-09-15 21:13:20 +08:00
    个人比较关心从 TP3.2 迁移到 5.0 的成本问题
    Zhongwei
        14
    Zhongwei  
       2016-09-15 21:22:26 +08:00
    这月饼味道一般,还是喜欢 laravel 味道的
    wu1990
        15
    wu1990  
       2016-09-15 21:22:30 +08:00
    ... thinkphp

    我是 laravel 党,看到 thinkphp 就想吐槽 ~
    kancloud
        16
    kancloud  
    OP
       2016-09-15 21:51:01 +08:00
    @Moker 基本上不支持升级 还是重写比较快了
    @wu1990 欢迎吐槽 事实上 TP5 有参考 Laravel
    @PP TP3 的时代从来没索要过 star 所以这么多年才 2000 多, TP5 已经 1000 多
    @Zhongwei 各有各的味道^_^
    skydiver
        17
    skydiver  
       2016-09-15 21:53:48 +08:00 via iPad
    中秋节应该送 cakephp ,那个才是月饼。。
    kongkongyzt
        18
    kongkongyzt  
       2016-09-15 21:58:11 +08:00 via Android
    ?这个 logo 不是我最喜欢的看云吗? tp 和看云的关系是?
    misaka19000
        19
    misaka19000  
       2016-09-15 21:58:56 +08:00   ❤️ 1
    话说 tp 和 laravel 比起来有什么优势么?
    Technetiumer
        20
    Technetiumer  
       2016-09-15 22:07:53 +08:00
    ThinkPHP v5.0 版本代号:月饼

    2333~

    (Android 的版本代号都是甜点)

    @skydiver 666

    @kongkongyzt ThinkPHP 和看云一家的
    kancloud
        21
    kancloud  
    OP
       2016-09-15 22:10:46 +08:00
    @kongkongyzt 看云最新升级已经基于 TP5 完成重构 看云是 TP 官方出品的一个文档服务平台
    @skydiver 为了庆祝 TP5 发布,天宫二号即将发射,带你直接去月宫吃月饼^_^
    @misaka19000 性能、文档、社区,更适合中国用户
    zhongkaixin
        22
    zhongkaixin  
       2016-09-15 22:18:05 +08:00
    其实 thinkphp 还是有优点的:

    1 、 thinkphp 比 laravel 要简单一些,算是中量级吧, laravel 已经是重量级了,有时候觉得,学 laravel 这种重型框架,不如直接用 java 算了。
    2 、正因为 laravel 是重量级,所以速度被人诟病, thinkphp 速度要快的多。
    3 、 thinkphp 搭建起项目来比 laravel 还是要简单多了,比如默认路由,可以不管 route 的事,直接写 controller 、 action , laravel 用起来还是要配置 route 的。
    4 、 thinkphp 的英文命名使用 chinglish ,符合中国人思维,这真不是在黑 thinkphp ,大部分人用 laravel 的时候,还是会遇到一些生僻词汇的,比如“ Eloquent ”、“ Illuminate ”这些命名,不查词典我真的不知道是什么意思,没有 ide 的提示我真不会打这些词,这种大学六级以上的英语词汇不会在 thinkphp 中出现的。
    zhongkaixin
        23
    zhongkaixin  
       2016-09-15 22:24:10 +08:00
    当然 thinkphp5.0 也是有缺点的,比如 orm ,比如 migration ,给人意犹未尽的感觉,很多功能都不完善,因为我用过 django 、 rails 这些框架,对 many to one , many to many 这些关系了如指掌(不是自吹哦),用 thinkphp5.0 中 model 的 many to one 的时候发现只提供了很简单的支持,比起 django 和 rails 来就像个玩具。
    kancloud
        24
    kancloud  
    OP
       2016-09-15 22:30:36 +08:00
    @zhongkaixin 感谢评价和建议 TP5 只是一个新的起点,虽然还不足以和 Laravel 等相提并论,话说 TP5 的路由功能细节可圈可点,不逊于 Laravel~ 其实我个人认为比较没有意义,存在即是价值,没有最好的框架,只有最适合的框架。 TP 功过,任由开发者评说,我们 10 年的坚持只是一种态度!
    dearmadman
        25
    dearmadman  
       2016-09-15 23:08:22 +08:00
    表示永远没有机会学会 TinkPHP 了。。。

    好像每次 TinkPHP 的重写,很多企业就会选择使用新的版本重写项目? :)
    nfroot
        26
    nfroot  
       2016-09-16 00:28:38 +08:00
    顺便问下, CI 框架咋样?看这没人提到。就不想单独发帖了,新人没权重。
    changwei
        27
    changwei  
       2016-09-16 00:43:22 +08:00
    Thinkphp5 终于出了正式版,之前的版本一改再改,我的项目从 RC2 一直到 RC4 发现都在不停的变化,尤其是 RC3 到 RC4 的变化太大了,项目完完全全就没办法移植,只能继续用 RC 版本,可能是设计之初就有很多地方没有构思好,作为英文不是很好的我还是比较支持国产框架的,但是 Thinkphp 本身仍然有很多地方略有缺失,比如说请求速率限制,队列等等国外优雅框架都有的服务。好像新版本源代码里面的注释仍然不是很完善,需要社区的更多支持。还是持续关注中!!!

    @nfroot CI 其实很多地方和 Thinkphp 非常相似,这个框架很轻量,比较适合刚刚学过 Thinkphp 又想接触国外框架的人。
    frozenshadow
        28
    frozenshadow  
       2016-09-16 00:55:07 +08:00
    @PP 要 star 感觉类似文章或视频的 “喜欢就请点赞”
    zonghua
        29
    zonghua  
       2016-09-16 03:25:13 +08:00 via iPhone
    thinkPHP 响应速度快
    dxwwym
        30
    dxwwym  
       2016-09-16 08:13:30 +08:00 via iPhone
    支持下
    kancloud
        31
    kancloud  
    OP
       2016-09-16 08:35:06 +08:00
    @changwei 确实之前版本调整较多,为了尽量让 TP5 趋于心中的完美更近一些,所以才历时十月,一直没有正式发布。 TP5 的核心比较轻,很多功能都纳入扩展组件了的,包括你说的请求速率限制之类的后面都是采用扩展包的方式,有了 composer 这些都比较方便扩展了。
    Clarencep
        32
    Clarencep  
       2016-09-16 08:38:16 +08:00
    没有人吐槽 ThinkPHP5 的小写命名空间吗? 感觉好别扭的说。

    有一点值得赞扬的是终于在数据库查询构建器用 bindParam 的方式处理参数了,比之前的直接把参数拼到 SQL 里面安全多了。
    techmoe
        33
    techmoe  
       2016-09-16 08:40:13 +08:00 via Android
    yooooooooooooooo !!!万岁!!!
    Clarencep
        34
    Clarencep  
       2016-09-16 08:42:53 +08:00
    另外,都已经使用 composer 了,为啥干脆不把 ThinkPHP 的框架部分抽出一个单独的 composer 包,而是还放到单独的 thinkphp 目录下
    kancloud
        35
    kancloud  
    OP
       2016-09-16 08:46:55 +08:00
    @Clarencep 小写命名空间是为了配合小写的目录, TP5 的规范是目录小写。(事实上, TP5 一样支持应用的驼峰命名空间) ThinkPHP5 的核心部分本来就是一个单独的 composer 包,至于放到 thinkphp 目录下则是有意为之,是为了方便新手,熟悉 composer 的开发者可以很方便调整。
    wizardforcel
        36
    wizardforcel  
       2016-09-16 09:45:25 +08:00
    感觉 orm 的查询器还是有些生硬。。

    不过用了预编译就是进步啊。
    kancloud
        37
    kancloud  
    OP
       2016-09-16 11:18:19 +08:00
    @wizardforcel 查询器用法比较多 看你选择什么用法了 其实 3.2.3 版本已经全面启用 PDO 参数绑定了 只是 TP5 更彻底,查询条件也自动参数绑定了
    likezun
        38
    likezun  
       2016-09-16 12:12:33 +08:00
    还是喜欢 symfony 的味道
    bugmenein
        39
    bugmenein  
       2016-09-16 13:26:38 +08:00
    @PP 比较少见。之前所见之例,少有见到过语气这么生硬的。
    changwei
        40
    changwei  
       2016-09-16 13:44:06 +08:00
    @kancloud 其实 5.0 中改进了很多技术社区对于 3.2 的槽点,但是文档和注释这个槽点在 5.0 好像一直在延续,观察国外框架会发现国外框架几乎每个文件都有标准的 docblock 注释,大量的英文说明注释甚至是代码案例。
    而且对比 CI 的文档风格,它都是在每个功能点的后面附带对应的助手函数,并且对于不同的 php 版本,不同的特殊环境下都有醒目的 tip ,还有其他一些框架的文档也会举例说明这个功能点在哪些需求下需要用到,这样就算是略懂技术的 PM 也能够快速上手或者进行工作量的预估, RD 作为手册查阅起来很方便,如果 Thinkphp 的文档能够格式规范,做的优雅一点就更好了。
    点恳求广大社区贡献者和 Thinkphp 官方能够提供更完美的支持。在此说声谢谢!~
    free9fw
        41
    free9fw  
       2016-09-16 13:54:10 +08:00
    4.x 是準備給 3.x 升級嗎
    9999999999999999
        42
    9999999999999999  
       2016-09-16 14:49:12 +08:00 via Android
    为什么有个文档还要钱?
    turn1
        43
    turn1  
       2016-09-16 18:15:35 +08:00
    @9999999999999999 为什么不要钱?
    netcan
        44
    netcan  
       2016-09-16 19:21:00 +08:00
    @zhongkaixin 你可以考虑 lumen
    kideny
        45
    kideny  
       2016-09-16 22:17:51 +08:00
    哎,我多希望国产框架能够一下子就到达国外框架的水平。
    每次看到国产框架的帖子,下面吐槽的人数都超过了开发的人数,我就感觉到一种莫名其妙的悲哀。
    对于喜欢 thinkphp 的人来说,这是很好的中秋礼物。
    看云很 nice , thinkphp 加油!
    yxzblue
        46
    yxzblue  
       2016-09-16 22:18:33 +08:00
    @9999999999999999 《手册》是不要钱的,《入门》要钱。
    kancloud
        47
    kancloud  
    OP
       2016-09-16 23:39:00 +08:00
    @changwei 关于注释方面的不足 是同过注释来弥补 看代码的用户还是少 当然这也是今后的改进目标
    @free9fw 4.0 版还没正式发布就搁浅了,当初的版本要求国内的很多环境无法跟上,然后官方把原本 4.0 的功能纳入 3.2 版本的规划 因此 4.0 版本就沦落成和 PHP6 一样
    @kideny 谢谢支持和鼓励 国内技术社区热衷于翻译和推广国外的产品 看不起国内自己的产品,所以我们必须要做到足够的优秀,国货当自强
    @9999999999999999 我们的完全手册对于基础扎实的用户已经足够,为了帮助新手快速迈过一些坎,我们还提供了快速入门指南(属于收费文档,但不强制,我们还有很多的群提供技术支持),同时也是为了证明看云是一个可以给技术文档的作者提供创收的平台。 TP5 快速入门创下了看云平台的收费文档的记录。
    designer
        48
    designer  
       2016-09-16 23:42:05 +08:00 via iPhone
    支持!
    jfhufhf
        49
    jfhufhf  
       2016-09-17 00:09:54 +08:00 via iPhone
    挺好的,支持 tp
    9999999999999999
        50
    9999999999999999  
       2016-09-17 02:54:23 +08:00
    @turn1 为什么要推荐一个要钱的入门资料?而且是放在 “[ 文档 ]” 这个下面。就不能加一个“付费资料”, “赞助阅读”吗?

    @yxzblue 分明都是在“文档” 下面的

    @kancloud 本来还有兴趣,结果点第一个“文档”发现是个卖书的。 就没兴趣了。
    qianmeng
        51
    qianmeng  
       2016-09-17 03:46:05 +08:00 via Android
    @9999999999999999 官方这个,我觉得挺心酸的,很好的框架,结果还得用这种方法赚点零用钱。
    testisitok
        52
    testisitok  
       2016-09-17 08:09:31 +08:00 via Android
    @kancloud 不用在意 V2EX 的一些傻逼。

    这些傻逼鄙视 ThinkPHP ,跪舔 L 、 C 框架;
    这些傻逼鄙视 Android ,跪舔 IOS ;
    这些傻逼鄙视创维、长虹,跪舔大法。

    更搞笑的是,轻易就被知乎软文洗脑,鄙视 VW ,跪舔日系车(虽然 VW 不算好鸟)。

    整天以自我为世界中心:凡是与我喜欢的不一样的,都是 LOWB 。殊不知自己才是傻逼。

    所以,对这些傻逼,笑笑就好。
    testisitok
        53
    testisitok  
       2016-09-17 08:12:06 +08:00 via Android
    @kancloud ThinkPHP 做得已经足够优秀,为开发者带来了很多方便。感谢你们的贡献,感谢你们的开源。希望你们越来越好
    kancloud
        54
    kancloud  
    OP
       2016-09-17 08:49:01 +08:00
    @9999999999999999
    @qianmeng 我们不认为官方有付费文档对开源框架有啥影响,教程定位我说的很清楚了,而且倾注了大量的额外时间精力,官方没有义务提供免费服务, yii 的官网文档频道都是推荐的付费书籍 开源不等于免费,尤其是在国内的开源氛围下,服务也是成本,而且我们发现购买文档的用户都是优质用户,提问的质量都很高。
    @testisitok 谢谢,我们坚持开源这么多年,非常感恩开发者对我们的支持和鼓励,至于这种事情已经司空见惯 我们就是在吐槽中成长起来的 ^_^
    569035610
        55
    569035610  
       2016-09-17 09:23:31 +08:00
    @qianmeng 官方已经完善了手册并且对框架技术开源了。凭啥别人就可以写入门出书赚钱,官方人员就不能写入门指南赚点零花钱?所有东西都是有成本的。开源不代表官方要放弃自己著作的版权。这是两码事。何况又不贵。
    my101du
        56
    my101du  
       2016-09-17 10:20:30 +08:00
    ThinkPHP 很好用,但是我觉得社区太没劲了,有几个问题
    1. 用户的发帖、回复,经常没有进行代码格式整理和高亮
    2. 不知道怎么回事,总觉得很多人说话说一半留一半,或者错别字一堆,我这个英语才高中水平的,反而觉得看一些英文的社区都没这么吃力
    3. 一个分享的案例,本来想学习一下代码,结果作者说啊说,说到一大半的时候,话锋一转,要加群……要不就别分享了……
    4. 反正挺乱的,官方社区不应该是内容质量积累最优质,最快帮你解决问题的地方吗?
    tanteng
        57
    tanteng  
       2016-09-17 10:27:39 +08:00
    PHP 的框架,熟悉的或正在学习的有三个, CodeIgniter 是我学习 PHP 框架的入门框架, ThinkPHP 是工作中用的比较多的框架, Laravel 是现在很流行但是公司用得少的一个框架,目前处于个人研究的阶段。
    kancloud
        58
    kancloud  
    OP
       2016-09-17 10:38:39 +08:00
    @my101du 这就是国内的生态,很多人在社区不是为了讨论技术,都在浑水摸鱼谋利,每天屏蔽的垃圾信息很多,而且还要经受频繁的 DDOS 攻击,这就是林子大了什么鸟都有吧,官方也在重新定位社区。对于框架的技术文档方面,也有一些新的想法。
    yxzblue
        59
    yxzblue  
       2016-09-17 10:50:20 +08:00
    用了很久的 ThinkPHP ,在这里说声"多谢了"!
    mingyun
        60
    mingyun  
       2016-09-17 19:03:14 +08:00
    tp5 更适合开发 API 吗
    AbrahamGreyson
        61
    AbrahamGreyson  
       2016-09-17 21:25:24 +08:00
    框架怎样就不评价了, 但是你们的官网真的应该好好设计一下,点开之后蚂蚁一样的文字满屏幕都是,看着有够闹心呢。
    ragnaroks
        62
    ragnaroks  
       2016-09-18 09:12:39 +08:00
    虽然不用 thinkphp,但是已 star
    kancloud
        63
    kancloud  
    OP
       2016-09-18 11:32:50 +08:00
    @mingyun 是的 相对于 TP3.2 版本来说 为 API 开发设计了很多底层的支持
    @ragnaroks 谢谢
    @AbrahamGreyson 官网的体验今后会改进 精力问题
    susucoolsama
        64
    susucoolsama  
       2016-09-19 16:29:16 +08:00
    作为我在工作中第一个使用的框架,十分感谢 TP ,不可否认 TP 确实还存在很多问题,社区是其中比较大的一个,很多问题的答案在社区里面都得不到专业的答复,很是恼火,大多数时间只有自己摸索了。
    youngyezi
        65
    youngyezi  
       2016-09-20 15:08:32 +08:00
    支持! 希望能多规范下框架注释。有点另类过头了。
    wizardforcel
        66
    wizardforcel  
       2016-10-03 03:24:08 +08:00 via Android
    @kancloud 看到了,终于支持查询器了。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1114 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 22:48 · PVG 06:48 · LAX 15:48 · JFK 18:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.