
V5.0 版本由七牛云独家赞助发布
post方法支持获取json方式的请求数据useGlobalScope方法resultSetType属性 用于指定模型查询的数据集对象(默认为空返回数组)toCollection方法(自动调用)with方法的参数支持小写和下划线定义join自身表的别名覆盖问题connection属性和数据库默认配置合并in和between查询条件的自动参数绑定getTableInfo方法缓存读取saveAll方法支持调用allowField方法进行字段过滤whereTime方法的 bugcount avg方法使用fetchsql无法正确返回 sql 的问题parseTemplateFile方法getRuleMsg方法error方法在 AJAX 请求默认返回 url 为空field参数 用于设置验证字段的描述invokeMethod方法对架构函数依赖注入的支持restore方法返回值share静态方法 用于静态赋值模板变量hasScene方法判断是否存在某个场景的验证配置destroy方法返回值input助手函数支持多维数据获取pull和remember方法confirm验证规则 支持自动规则识别forever方法用于永久保存fetchClass方法error方法在 AJAX 请求默认返回的 url 为空官方开发手册已经同步更新到 V5.0.4 版本 [ 5.0 快速入门系列教程 ]
Composer 安装 : composer create-project topthink/think tp5 --prefer-dist
https://git.oschina.net/liu21st/thinkphp5.githttps://git.oschina.net/liu21st/framework.git下面是针对 ThinkPHP5 的扩展包 需要使用 Composer 安装
通过支付宝捐赠支持我们:

2016 年 12 月 20 日 ThinkPHP 官方团队
最后新版发布福利: 由阿里云提供的 50 个免费套餐邀请码
领码地址>> http://click.aliyun.com/m/8306/ (数量有限 先到先得)
1
tabris17 2016-12-20 11:51:01 +08:00 无论怎么洗, TP 会以一个“自带 SQL 注入漏洞”的框架被铭记
|
2
nyanyh 2016-12-20 12:03:18 +08:00
最近看到了好多批判 TP 的帖子,到底应不应该学啊
|
3
kancloud OP @tabris17 看问题要客观些嘛,那是上个世纪的事了 不要始终停留在老版本的认知上 认真了解下 TP5 孰好孰坏,自有用户来评断!
|
4
vugusurk 2016-12-20 12:27:05 +08:00
话说 LZ 是和 ThinkPHP 有一腿?这么帮着洗
anyway ,反正我是不会用的 |
6
kancloud OP |
7
kancloud OP @skyworker 只要相互尊重 善意和客观的批评和建议 我们是欢迎的 看不惯的是没头脑的吐槽,再说我们也不是第一天被人说 ^_^
|
8
kmahyyg 2016-12-20 12:38:11 +08:00 via Android
反正我是不会用的
|
9
wujunze 2016-12-20 13:05:38 +08:00
TP 还是很用心在更新和维护的 也是很多 PHP 程序猿的入门框架
|
10
m939594960 2016-12-20 13:25:04 +08:00
@wujunze 希望半年后还有人这么评价 TP
|
11
chaegumi 2016-12-20 13:37:09 +08:00
我 composer 了之后,
Fatal error: Uncaught Error: Class 'think\Config' not found in D:\upupw\htdocs\server\o2o\thinkphp\library\think\Route.php:294 Stack trace: #0 |
12
maggiefor 2016-12-20 13:43:06 +08:00 天天吵吵吵的 技术圈搞的跟娱乐圈似的
|
13
chaegumi 2016-12-20 13:49:18 +08:00
@kancloud 发现跟验证码 think-captcha 里边的有关,我把验证码这个 composer 包去掉又正常了
|
14
AbrahamGreyson 2016-12-20 14:11:13 +08:00
ThinkPHP 是对 OOP 的亵渎。
|
15
kancloud OP @AbrahamGreyson 兄弟 有问题和建议尽管提 本来就是开源项目~ 还有这里是 TP5 新版发布 不是 TP3
|
16
byuc 2016-12-20 14:32:24 +08:00
@AbrahamGreyson 就一个项目就亵渎了你的 OOP 神明,逢年过节你是不是还得拜上一拜烧上点什么东西? 23333
|
17
KIDJourney 2016-12-20 14:38:25 +08:00 via Android 没用过 tp 也没读过框架代码。
但我觉得楼上几位扯什么亵渎什么自带注入最好还是拿出代码来批判。 老拿黑历史来说不太好吧。 |
18
xavier007 2016-12-20 14:39:23 +08:00
新版源码还么看,所以不置评
|
19
AbrahamGreyson 2016-12-20 15:19:24 +08:00
@kancloud 我说的也是 5 ,代码大概内测之前看过,忘了是几个月之前了:)
|
20
AbrahamGreyson 2016-12-20 15:19:40 +08:00
@byuc 你要来咬我么 lol
|
21
chenset 2016-12-20 15:45:22 +08:00
支持 TP!
|
22
dhlwing 2016-12-20 16:03:47 +08:00
虽然没有用过 TP ,也没看过 TP 的代码,但楼上的一帮傻叼们,亮出你们的代码看看你们是不是有资格嘲讽别人?
|
23
sagaxu 2016-12-20 16:15:47 +08:00
我预测有人要吐槽了
|
24
lzkong1029 2016-12-20 16:36:29 +08:00
支持!
|
25
phithon 2016-12-20 16:48:25 +08:00
吐槽不可取,要支持新版本的推广~
|
26
kancloud OP @phithon
@lzkong1029 @dhlwing @chenset @xavier007 @KIDJourney 感谢大家 ^_^ 多一些了解 就会多一些认可 抱着偏见是看不到真相的 在国内坚持做 10 年不容易 多少年风雨都过来了 国产开源当自强 |
27
xavier007 2016-12-20 17:30:20 +08:00
我倒是一直在用 thinkphp3.2 ,用了几年了,期间用 TP 也出现过一些莫名其妙的问题。正在选定新框架,看了 laravel 还有 YII2 ,对比 thinkphp3.2 还有 thinkphp5 ,最终选定 TP5 (核心代码没有看,简单看了下文档)。
我处在小城市,选一个框架不能只自己用的舒服,需要考虑到新入团队人员的学习接受能力,我们的业务一般都不算太复杂,所以 TP 足够,而且 laravel 入门太难,一个新手花一个月了解,几个月熟悉,周期有点太长,而且一个月都不一定可以了解, YII2 和 TP 的话感觉差别对于我们不大,同样也考虑好久 YII2 ,但是最终考虑到 TP 会的人多,相对入门也容易,而且 TP5 很多新特性也不错,和 workerman 也有结合,对我们的项目来说,已经很完美了! |
28
wensonsmith 2016-12-20 17:59:21 +08:00
想当年大学毕业设计用的 ThinkPHP , 现在想起这个框架,满满的青春回忆啊!一转眼 4 年过去了啊!
V 站怎么染了逼乎的风气,吐槽 TP 还自带优越感的感觉。。。越是战五渣,越是能吐槽 |
29
realpg PRO 珍爱编程生命,远离 ThinkPHP
程序员入此坑,基本 80%就没了后续自身职业发展了。 让他带歪了了路,以后再想走直可就难了…… PS 利益无关。 |
31
Hashell 2016-12-20 19:55:53 +08:00 via Android
想折腾的话,可以考虑 ThinkPHP 5 。不想加班就用 Yii 2 。
|
32
kancloud OP @realpg 如果你身边真见到被框架带歪的 那学什么都学不好 那是自身的问题 不要怪到框架头上来,这年头被培训班坑的不在少数, BAT weibo 当当的开发都不用混了 有本事有事说事 不要说这些不着边际的~
|
33
mingyun 2016-12-20 23:15:51 +08:00
黑来黑去有意思吗?用 tp 的人自然明白
|
34
minamike 2016-12-21 09:30:54 +08:00
三个程序员一台戏(手动滑稽
请开始你们的婊演 |
35
zgqq 2016-12-21 11:25:40 +08:00
我就知道有"大神"来吐槽 tp ,哈哈
|
36
daya 2016-12-21 15:20:19 +08:00 吐槽 TP 的可以拿出点干货吗?也让我们提高一下姿势水平
|
37
kancloud OP 本来发这个贴是一个框架新版发布和福利贴,结果硬生生的被 V 友做成了吐槽贴。
我不得不给一些吃瓜群众正声! 其实每个框架都各有优缺点 没有完美,所以优缺点就看开发者的角度和认识(因为你熟悉了一个框架 用起来顺手本身就是一个优点),对于有些用户(尤其是新人)觉得文档好、上手容易是优点,有些用户觉得性能好是优点,又有些用户可能觉得方便扩展才是优点。但往往一个缺点会掩盖所有的优点,这就是很多用户抱怨的原因。喜欢一个框架一定有喜欢的地方,讨厌一个框架也总能找出理由。 以往的版本我们就不说了(已经过了维护生命期了 大家也没有必要揪着历史说事,事物都在发展),毕竟和 LV 相提并论的最多也是 TP5 。 我们在开发 TP5 的时候 一方面吸收了以往版本的用户反馈和抱怨,一方面也吸收了国外主流框架思想的洗礼(例如 Laravel ,很多用户说 TP5 参考了 yii2 ZF2 其实并没有 如果你看到了只能说明主流的现代思想是速途同归的),并秉承了 TP 一贯的大道至简的开发思想,经过了长达十月的开发测试才诞生了第一个 TP5 的正式版本,并且已经迭代到了 V5.0.4 版本了。应该来说表面上沿用了 Larave 的很多方法和思想,其实本质上的实现差异很大或者完全不同。 沿用(或者说是在有些人眼中的抄袭也好)的目的主要包括: 1 我们找不到更适合的英文单词(但 LV 很多单词是用的很生僻, TP5 主要的单词都是四级之内词汇) 2 我们在为吸收转化 LV 开发用户做铺垫^_^ 因此在上手难度和性能上相比较 laravel 是占优势的,加上从正式版发布后的文档教程系列一直在完善(主要是迎合国内的新手),因为从 TP3.2 版本到 5.0 版本跨度非常之大,我们也认识到存在不可避免的用户流失(相比较 TP3.2 引入了很多的主流现代开发思想,需要补课很多 包括 composer 、面向对象、依赖注入等),但我们也相信,我们的新版本也会俘获另外一批懂我们的用户,从而转向 TP5 (事实上确实如此)。 TP5 并非只是单纯的借鉴,一样有大量的创新,尤其在路由、日志、控制器和模型的一些细节方面,这些只有真正去用过才能体会。 TP5 的底层架构和 LV 是完全不同的设计,但都遵循一些规范(包括 PSR-2 , PSR-4 , RESTFul ),并都在往主流的设计思想靠拢。 但作为一个新诞生的孩子路还有很长,生态之类的还不够完善( LV 也不是靠官方团队做大的 有大量的人在为生态贡献),所以从我们的角度来看, TP5 和 LV5 孰好孰坏,没有绝对,从长远来看, TP5 在国内替代 LV5 的可能性越来越大,至少在国内我们的优势非常明显(可以参考百度指数和谷歌趋势数据),包括性能、文档以及社区(如果是盲目崇拜 LV 的我也无话可说,毕竟国内也有盲目崇拜 TP 的^_^)。 因为 LV 的架构和内部实现相当的复杂,相比较而言 TP 的代码和文档 都非常容易阅读和理解,那么扩展起来自然就会轻松很多, LV 主打的就是优雅、现代编程思想以及优秀的扩展生态。但 TP5 一样优雅,并且功能不会缺失太多,至于扩展生态方面就需要靠社区和用户的参与和贡献了。在国内 PHP 开源框架这块,我们风风雨雨走了十多年,我们了解我们的用户的想法,同时也在学习吸收国际的现代开发思想。 总结来说, TP5 更简单实用,文档丰富, LV 更严谨,生态成熟。性能在这个时代其实已经不是最关键的了,所以我并不想强调性能方面的,国内的企业更关注的是开发周期和开发成本。 |
38
changwei 2016-12-21 20:24:42 +08:00
还是建议 ThinkPHP5 如果真真切切是为了做成一个新手友好型框架,那么之后的版本能够同步把文档写的完整一点,到现在模型层的文档还是缺胳膊少腿,比如说把对象的方法原型贴出来,或者在一些容易采坑的地方加上 tag (这一点 ci 的官方文档做得非常好),毕竟不是每个新手都会使用 IDE 或者正确使用 IDE 的。
我当然知道开源社区有句话叫做 you can you up ,所以我在这里只是提一个小小的建议,文档对于新手来说无比的重要,求不重喷。 |
39
kancloud OP @changwei 就是需要更多这样的反馈和建议 才能让我们做的更好,完全手册覆盖面广,所以很难面面俱到的说的很细(其实路由、数据库和模型章节已经写的很多了 ,只是不一定通俗罢了),而教程会就某一方面做更多的深入和示例,这就是官方的快速入门系列的宗旨。新手不适合看手册,我发现他们连搜索都不会,而完全开发手册的章节非常之细,以至于他们不知道去哪里找,还有一些用户看文档 断章取义,以偏概全。这种问题 我们在 3.2 版本的时候就发现了 ,所以 5.0 版本除了手册之外,还单独花心思写了快速入门系列教程,当然教程的收费问题导致争议很大,我也不想在这里讨论这个问题。 TP 框架的细节就是注释和文档针对新手,完全容易阅读和理解。很多人对 TP 要求很高,我们也一直在努力,事实上我也并没看到 Laravel 官方的文档有多优秀,倒是不少第三方的教程比较给力。
|