你为什么/因为哪些方面不喜欢 ThinkPHP 框架?

2016-11-25 11:00:37 +08:00
 JohnH
14473 次点击
所在节点    PHP
82 条回复
shijingshijing
2016-11-25 18:35:03 +08:00
@m939594960 我刚把挑 TP 毛病的这一段看了一半就点了感谢,妹想到后面还有吹 Laravel 的,有点后悔了。。。

说实话, Laravel 那个臃肿啊,我真不如直接上 java 。最后,给私企小老板干活儿,碰到那种我要两周做个像 xx 一样的网站这种需求,用 TP 是最合适不过的了。

最后, PHP 是最好的语言, TP 是最好的框架,都没有之一的。
ttop5
2016-11-25 18:46:21 +08:00
因为不会拍黄片
kiwi95
2016-11-25 18:50:46 +08:00
虽然说说 TP 是二流作品有点不好听,但两个东西比较总是要好坏之分的, TP 相比其他框架就是差,再有人怎么说适合小项目, TP5 有很大进步之类的,它还是一个很差的框架
silov
2016-11-25 18:55:06 +08:00
不知道为什么,可能是水平比较低,反正接私活用 tp 因为快,给公司做项目或者重要项目用 laravel 因为喜欢。

哦对了我是不喜欢 tp 的。主要原因可能是看大家吐槽看多了。

其实 laravel 的坑也有一些。但是熟悉了之后回避一下,大部分功能还是用起来很舒服。所以喜欢 laravel 。
vus520
2016-11-25 19:23:43 +08:00
@m939594960

@changwei

从两位回复的内容一看就能知道真相。

国人开发的框架,哪里有坑,大家清清楚楚明明白白。遇到问题要么看下代码,要么看看文档都能解决。
一个稍稍用心的人,一两周就能把 TP 搞得非常熟悉,了然于心。

这也是大家喜欢或者同时不喜欢 TP 的原因:
1 ,简单,国人思维,用的人也不少
2 ,不为设计而设计,不追求过度优雅,真正是入门技术人员的框架
3 ,国内的开发团队,新技术新应用相对滞后

回过头来说, Laravel 正好相反。

对于新人,或者项目不复杂的团队来说,一个能控制的框架才是最合适的。对于团队,随便招个人就能接着干活的,才是最企业级的。

我诚恳的建议,一些自认为技术很牛逼的高手们,不要向新人灌输某某技术不行,某某框架不行的言论。

因为:
1 ,新人大多盲从,一开始就挑一个复杂度高的框架,可能会影响到入门,甚至放弃;
2 ,不负责的言论会很打击开源团队的奉献精神。 TP 开发了 10 年,我可以保证这十年, TP 的团队每天都有几个小时的精力放在这个框架上。这样的团队和精神在国内真是数一数二,请大家去翻阅 TP 的 commit 记录,值得你感动。
3 ,理性对待技术,不是你使用了某个新技术傍上了某个新框架,就显得你技术牛逼有内涵。基于 TP 我们也能跑出 10 亿级的业务。
wesley
2016-11-25 19:35:12 +08:00
我公司就用 tp 3.x , 一句话评价: 几个( 3 以内)中专以下学历的人弄的小作坊作品。

各种自作聪明的东西其实是脱裤子放屁,甚至画蛇添足:
0. 恶心的.class.php 文件命名(PHP4 时代的习惯), 导致没法使用第三方库
1. 自动生成一个 compile 文件,没听说过 op cache 吗?
2. 丑陋的模板标签,嵌套过多经常会莫名出错
3. 运行过程中,日志先保存在一个全局变量里却没有检查日志大小,且无法关闭。 所以如果需要 php 程序常驻进程的话,会因超过最大内存限制而终止。
4. 无法支持单元测试
zachlhb
2016-11-25 19:47:51 +08:00
喜欢就用,不喜欢就别用,没有那个框架好那个不好,重点看自己的熟练程度
mhycy
2016-11-25 20:21:05 +08:00
@wesley

别忘了 TP 至少有 10 年历史了,历史遗留的特性很正常。
而且 ThinkPHP 还要兼容各种建站空间。
所以现在新版本直接跳到 5.X 了
kiwi95
2016-11-25 20:40:15 +08:00
@vus520
1 ,新人大多盲从,一开始就学一个组织混乱的框架,影响他一辈子,说不定一辈子都只能写 tp 了;
2 ,不负责的言论会很打击优秀的开源项目的奉献精神。开源不只是奉献,开源的世界也有优胜劣汰,好的东西喜欢的人多,差的东西讨厌的人多,不因为开源而改变,作品看好坏,不看感动值, TP 的开发有付出,但他们也获得了回报,并且成功将一大批人的 php 水平拉低一个等级
3 ,基于 TP 能跑出 10 亿级的业务我佩服你,当我什么也没说,希望早日看到你们关于 TP 支持 10 级业务的技术分享
sagaxu
2016-11-25 20:52:02 +08:00
@shijingshijing 现在 Java 也可以很简洁了,因为有了
spring boot ,适合快速开发了。
cxbig
2016-11-25 21:08:42 +08:00
没 Laravel 看着舒服
kancloud
2016-11-25 21:14:37 +08:00
@changwei 你觉得 Laravel 一开始就是完美的么 那是 Laravel 团队以及大量贡献者参与而完善的,你举了个 remember 的例子,事实上这个 TP5 方法已经有了,说明什么,说明每个框架都在不断的进步和完善,那我也可以举很多 laravel 没有的例子,这个不能代表什么。我感到悲哀的是明明知道怎么才能更好,却不会去建议和贡献,却只会抱怨。

其实 TP 错就错在太简单了(谁说简单的框架就不能优雅了),所以用之者众,很多人写出的代码(尤其是培训班出来的 这个只能怪培训机构的讲师)乱七八糟,这能代表框架的好坏么? 我用 C 语言也能写出垃圾代码,你能说 C 语言不行么。大家对国内开源的要求太高了,不是鼓励,不是建议,而是遇到问题就抱怨。

@kiwi95 我不太赞同你的说法, TP 没有也不可能拉低一个人的 PHP 开发水平, TP 是让更多的人会 PHP 开发了,也不是只有会 Laravel 开发的才叫 PHP 开发,不要把 Laravel 给神话了,将来一样会有其它的框架取代它。 TP 只是做好自己力所能及的事情,让开发变得更简单,无论外界怎么评说,官方还是自己的产品态度,大多数人都停留在历史版本上看 TP ,那也是不公平的,优胜劣汰、适者生存的道理大家都明白, TP 是自然选择的结果,我们也有自己的发展权利,也在进步。

最后,无论你是否喜欢 ThinkPHP 不会影响和改变任何东西,因为世上本来就没有完美!
kiwi95
2016-11-25 21:29:17 +08:00
@kancloud 我确实两年左右没碰过 tp 了, laravel 其实我用的也不多,没必要神话,但是 laravel 比 tp 好我觉得这是事实, tp 想要进步就得多向优秀的框架学习

什么 TP 错就错在太简单了,这是不成立的,我用 tp 的时候, tp 只是看起来的简单,提供一些大写的单字母的全局函数就是简单吗?命名空间不明不白是简单吗? MVC 模糊不清是简单吗?这是偷懒。且不说那莫名奇妙,逻辑混乱的模版引擎了,还有那些质量奇差,表现奇怪,基本没法修改的第三方的 widget

”无论你是否喜欢 ThinkPHP 不会影响和改变任何东西,因为世上本来就没有完美“ 这我就不开心了,感情开这一帖子大家讨论半天不改变任何东西,那还有什么意思,我就是希望更多的人能选择一个好的框架,而不是 TP ,能改变一个人也好

估计以后因为很少用 php 了,不过有时间我还是试试看 TP5 到底水平怎么样了
kancloud
2016-11-25 21:45:10 +08:00
@kiwi95 说句实话 这种话题 在 V2 和 知乎大把,年年有,月月新,能改变啥? 你去看看 tp laravel yii 的百度指数 谷歌趋势 TP 照样在增长 你数一下国内的网站 是 laravel 的多还是 TP 的多 你不去看不去学 怎么知道 TP 没有向优秀的框架学习呢? TP 凭啥就不能成为一个更好的选择呢?本来就是不同的框架定位,宝马奔驰车是好,可每个人都需要宝马么 只是不要带着有色眼镜看世界,根本看不清楚。

再奉劝一句那些曾经或者还在用 TP3 或者更低版本的, TP5 已经出来了 你们的思想 OUT 了 如果不明白 我给个传送门 http://www.kancloud.cn/special/thinkphp5_quickstart
changwei
2016-11-26 00:19:14 +08:00
@kancloud 好吧我承认我的确没有为 tp 贡献什么,也承认 tp 在后来几个小版本的发布中多出了很多优雅特性。

至于你说的我没有建议我就有点不高兴了,我记得每一次你在 v2 发布新版本的 tp 我都有过大量回复建议,不信你可以去找找。

还有你说的贡献,我想说一段往事,记得 tp 还在 rc 版本的时候,当时加了一个群,提了一个小问题(查了手册解决不了,没查源码),群里面有个管理员当时对我说了一句,滚去看手册,我说就是因为手册没有,论坛发帖没人回复我才来群里面问的啊,然后又有个管理员说你问完了吗?问完了你就可以走了,然后我就被 t 了。在我被 t 之前我也无数次看到管理员和群里面的一些人不停的争吵,甚至还有人在论坛说 tp 手册收费,结果一群人各种贴吧式的花样嘲讽,穷鬼玩什么框架之类的言论。

我不知道是不是国外的开源社区也都戾气那么重,反正 tp 给我的印象就是,劳资花了十年开发的框架,我无私开源,慷慨奉献,你们爱用不用不用别 bb 。

大家能在这里吐槽,说明用过的人和关注的人很多,希望你们能整顿好社区,营造粉丝效应,不要求你做出情怀,至少别伤了我们这些普通用户的心。
sagaxu
2016-11-26 00:57:09 +08:00
看了一下 tp5 ,官方文档竟然是收费的,而且没有英文版,这点就不如 yii 和 vuejs 了,同样是中国开源软件,文档各种语言齐全而且免费。去年某个项目想画图表,我推荐了 echarts ,但是 team 里有个别不懂汉字的外国人,只能放弃,花几千块钱买了 highcharts
testisitok
2016-11-26 01:50:48 +08:00
@kancloud 不要在意某些人的态度,你们很棒!

那些装 B 党,手机 iPhone 、电视大法、电脑 MAC 、邮箱 GMAIL ……否则就是非我族类。殊不知,他们才是少数派。嗯,他们肯定会说,少数派才是真理!
konakona
2016-11-26 03:16:27 +08:00
因为我用 ThinkPHP 写的贼 6.
不过个人爱好还是会用下 symfony 、 laravel 。
另外写的 6 的也有 Yii ,不过那是 2 年前的事了,现在用的不多。
q397064399
2016-11-26 04:38:20 +08:00
你要轮子,又嫌 TP 简陋,还不如直接上 Java ,跑车多,半成品少, Maven CtrlC CtrlV 大法好,

除了吃点内存外,真不比 PHP 一些重量级框架要差
shinwood
2016-11-26 09:10:16 +08:00
建议想学 PHP 框架的,先从自己 CI 入门,再学 CakePHP ,再到 TP5 ,再到 Laravel ,由简入深,这个路径绝对可以尝到进步的乐趣。

再多说一点: TP5 的文档是免费的, PDF 以及在线都可阅读,但并不全面,我当时用 TP5 写小项目的时候,是下了一个开源的项目,结合文档和搜索引擎,东拉西扯完成的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/323181

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX