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

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

  •  
  •   JohnH · 2016-11-25 11:00:37 +08:00 · 14701 次点击
    这是一个创建于 2922 天前的主题,其中的信息可能已经有所发展或是发生改变。
    82 条回复    2019-05-22 08:50:37 +08:00
    holyghost
        1
    holyghost  
       2016-11-25 11:02:23 +08:00
    因为培训班都在教,恨屋及乌。
    Light3
        2
    Light3  
       2016-11-25 11:05:22 +08:00   ❤️ 1
    @holyghost 你 out 了 据传培训班 现在教 laravel.
    murmur
        3
    murmur  
       2016-11-25 11:10:45 +08:00   ❤️ 1
    ThinkPHP 小型应用开发首选
    php 不流行自己写框架么
    mcfog
        4
    mcfog  
       2016-11-25 11:14:40 +08:00
    因为面试那些简历上出现 TP 的人,还有框架只写 TP 一种的人实在浪费太多时间,每次都抱着“不能对 TP 有偏见,还是面一下试试吧”的心态然后每次都后悔得不行
    iRiven
        5
    iRiven  
       2016-11-25 11:41:32 +08:00 via Android
    😂表示不懂
    sobigfish
        6
    sobigfish  
       2016-11-25 12:07:55 +08:00
    > @Light3 "据传培训班 现在教 Laravel."
    想看看他们坑不坑(网上只搜到个 5 天的 应该只是讲基础—— google 的, baidu 上可能坑学校多,但我直接当无视了)
    keikeizhang
        7
    keikeizhang  
       2016-11-25 12:31:30 +08:00
    没有喜欢不喜欢,只有适合不适合!
    anubiskong
        8
    anubiskong  
       2016-11-25 12:32:29 +08:00   ❤️ 3
    不是因为 thinkphp, 而是因为 php
    kiwi95
        9
    kiwi95  
       2016-11-25 12:35:17 +08:00
    用过 3.X 的 thinkphp ,各种命名奇怪的全局函数, U 函数, i 函数之类的,命名空间混乱, MVC 划分不清晰,模块化也不好,其他的不太记得了

    反正印象很不好,被人要求用的
    mdzz
        10
    mdzz  
       2016-11-25 12:46:56 +08:00
    先问是不是,再问为什么。(
    realpg
        11
    realpg  
       2016-11-25 13:07:57 +08:00
    thinkphp 坑挺多,但是不至于因为这点东西而极端的不喜欢 thinkphp
    重点是用 thinkphp 的人里面渣太多
    m939594960
        12
    m939594960  
       2016-11-25 13:47:02 +08:00   ❤️ 7
    我用过很长时间的 TP
    有很多个坑
    1.U 方法生成不按路由
    2.关联模型 create 自动验证不生效
    3.自动验证有很多莫名其妙的坑(明明是对的但是不好用)
    4.where 如果用字符串不用数组去写 会有注入(手册上没有任何说明,只是推荐使用数组形式 很多人都用字符串)
    5.where 或者 order 等 orm 链式操作 有一定几率 出现问题 用数组功能失效 必须用字符串
    6.模板引擎太丑,还得记模板引擎的语法,逻辑判断比较多的情况下特别乱,分不清 html 和模板引擎
    7.模板引擎解析总是出问题,特别是 js 写到页面上的时候
    8.如过不改目录结构 日志会暴露
    9.命名空间混乱(感觉 TP 的命名空间毫无意义,特性完全没用到),会有两个同名文件用同样的命名空间,导致各种 ide 的代码提示功能失效
    10.按照官方的说明,添加第三方扩展的时候要放到 TP 框架的文件夹,以后升级什么的比较麻烦(基本也不要指望 TP 更新了)
    11.框架不自带 .gitignore 每次提交 git 的时候 都得自己写这些忽略文件 十分麻烦
    12.官方并不经常更新,一些 BUG 也得不到及时修复
    13.框架不带用 redis 存放 session 的功能,如果自己网上找办法还得再 TP 框架的文件夹中添加文件
    14.Model 的关联模型什么的基本是个残废,手册看不懂,只能用 join 等着被注入
    15.。。。。。。。。。。。。。。。。。。。。。
    不说了 还有很多 一时想不起来了,这是刚才能想起来的这些


    我很喜欢 laravel
    主要原因(跟 TP 比 除了臃肿一些,我基本没找到任何缺点)
    1.有 composer ,第三方 vendor 非常全并且好用
    2.更新非常快 基本紧跟 PHP 版本更新 ,能让你了解并且使用更新,更优秀的 PHP ,写出更优秀的代码。
    3.语法写起来非常舒服
    4.简单的联表特别方便,查出来的值不会像 join 一样 混在一起。
    5.多看 laravel 的代码 写法,会让你的代码写得越来越漂亮
    6.。。。。。。
    ooh
        13
    ooh  
       2016-11-25 15:43:02 +08:00
    没有不喜欢,只是有更多的选择,为什么要不喜欢 ThinkPHP ,都是为开源世界做贡献,难道开源界也有二等公民的说法???
    yoke123
        14
    yoke123  
       2016-11-25 15:51:56 +08:00
    别说了 现在培训机构都教 Yii2 Laravel 这些流行框架了
    TP 只是基础过一遍的
    多用用其他框架就是知道 TP 好不好了
    silenceeeee
        15
    silenceeeee  
       2016-11-25 17:38:27 +08:00
    @m939594960 我想问个问题 大家项目代码中还会允许使用 JOIN 查询?
    m939594960
        16
    m939594960  
       2016-11-25 17:49:29 +08:00
    @silenceeeee 为啥不允许 join
    zhpech
        17
    zhpech  
       2016-11-25 17:53:02 +08:00
    文档?

    我也喜欢 Laravel ,过去用 CI 也觉得很棒。
    kancloud
        18
    kancloud  
       2016-11-25 18:17:27 +08:00
    不喜欢 TP 的是因为他们还不知道 TP5 ^_^ 喜欢 TP 的用户是一直在享受 TP 带来的好处 和 见证 TP 的成长
    shijingshijing
        19
    shijingshijing  
       2016-11-25 18:32:14 +08:00
    @Light3 现在的培训班都这么屌了啊………………
    changwei
        20
    changwei  
       2016-11-25 18:32:46 +08:00
    我之前也很喜欢 Thinkphp ,尤其是出了 5.0 之后觉得会有很大起色,但是看了一些人写的代码,后来我想错了。

    Thinkphp3.2 已经有 @m939594960 吐槽过了,我就谈谈其他的吧。

    首先 Thinkphp5.0 号称模型层有巨大改进,然而我发现连用 model 工厂函数生成 common 公共模型都是错的。我去提 issus 被其他用户告知要手动按命名空间生成。

    其次这个模型层的官方文档非常简单,很多用法连例子都没有,如果不用 ide 的话都不知道某些方法的参数是什么。总之用 Thinkphp 的话不是很熟练的情况下不能用编辑器,否则等着踩坑吧。不仅仅是模型层,其他文档也一样,文档还是太简单了,可能是刚发布不久还在修订中。

    接着就是缓存了, Laravel 中缓存有个 remember ,可以以很优雅的方式写缓存的存储+获取,而 Thinkphp 中我得先判断缓存是否有,有的话直接 get ,没有的话得先 set 然后输出,写法非常不优雅。不仅仅是缓存,其他相关的服务也一样不优雅。

    然后还有他的源码,看 5.0 的源码看到第一个加载的核心类 Loader.php 我就看不下去了,整个类文件里面所有的方法连 docblock 注释都是有的有有的没有, private 方法和 public 方法混合摆放,让我们阅读代码的时候无法以一种自顶向下的方式轻松的阅读,给人的感觉就像是这个代码是由几十个人没有用版本控制系统写出来一样。私有成员也没有用_下划线标明,代码毫无规范性。某些类库头部连作者,包名,修改时间都没有(难道开源项目就没有责任到人的说法嘛?)。可能我说的现象现在有些代码改了,但是确实是有这种情况的。

    最后也是我最想表达的一点: Thinkphp 框架即使本身已经很优秀了,但是由于它简单上手,导致使用它的人群平均水平比较低,写出来的代码质量非常差,体现到实际项目中很多人就认为这是框架的锅。相反用 Laravel 的人由于本身更具有好学,主动进取,对英文掌握良好(这点非常重要,英文好的人,他们变量名,标识符都写的非常规范),所以导致我们看起来 Laravel 写的项目整体都非常漂亮优雅。
    shijingshijing
        21
    shijingshijing  
       2016-11-25 18:35:03 +08:00
    @m939594960 我刚把挑 TP 毛病的这一段看了一半就点了感谢,妹想到后面还有吹 Laravel 的,有点后悔了。。。

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

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

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

    其实 laravel 的坑也有一些。但是熟悉了之后回避一下,大部分功能还是用起来很舒服。所以喜欢 laravel 。
    vus520
        25
    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
        26
    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
        27
    zachlhb  
       2016-11-25 19:47:51 +08:00 via Android
    喜欢就用,不喜欢就别用,没有那个框架好那个不好,重点看自己的熟练程度
    mhycy
        28
    mhycy  
       2016-11-25 20:21:05 +08:00
    @wesley

    别忘了 TP 至少有 10 年历史了,历史遗留的特性很正常。
    而且 ThinkPHP 还要兼容各种建站空间。
    所以现在新版本直接跳到 5.X 了
    kiwi95
        29
    kiwi95  
       2016-11-25 20:40:15 +08:00   ❤️ 2
    @vus520
    1 ,新人大多盲从,一开始就学一个组织混乱的框架,影响他一辈子,说不定一辈子都只能写 tp 了;
    2 ,不负责的言论会很打击优秀的开源项目的奉献精神。开源不只是奉献,开源的世界也有优胜劣汰,好的东西喜欢的人多,差的东西讨厌的人多,不因为开源而改变,作品看好坏,不看感动值, TP 的开发有付出,但他们也获得了回报,并且成功将一大批人的 php 水平拉低一个等级
    3 ,基于 TP 能跑出 10 亿级的业务我佩服你,当我什么也没说,希望早日看到你们关于 TP 支持 10 级业务的技术分享
    sagaxu
        30
    sagaxu  
       2016-11-25 20:52:02 +08:00 via Android
    @shijingshijing 现在 Java 也可以很简洁了,因为有了
    spring boot ,适合快速开发了。
    cxbig
        31
    cxbig  
       2016-11-25 21:08:42 +08:00
    没 Laravel 看着舒服
    kancloud
        32
    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
        33
    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
        34
    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
        35
    changwei  
       2016-11-26 00:19:14 +08:00 via Android   ❤️ 2
    @kancloud 好吧我承认我的确没有为 tp 贡献什么,也承认 tp 在后来几个小版本的发布中多出了很多优雅特性。

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

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

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

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

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

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

    再多说一点: TP5 的文档是免费的, PDF 以及在线都可阅读,但并不全面,我当时用 TP5 写小项目的时候,是下了一个开源的项目,结合文档和搜索引擎,东拉西扯完成的。
    kancloud
        41
    kancloud  
       2016-11-26 10:03:56 +08:00
    我最后表明我的观点,每个框架都有优劣,至于英文文档问题,为啥有人热衷翻译 Laravel 就没人翻译 TP 呢,官方目前主要服务国内用户也并没有国际化。有人提到官方文档的收费问题, yii/laravel 都有收费书籍 TP 为啥不能有自己的收费书籍和教程(官方的完全开发手册一直都是免费的)。而且我也没觉得 Laravel5 能比 TP5 高出多少分,而且人家团队和参与贡献多少人, TP 团队多少人,如果有那么多人参与贡献 TP 会发展的更快更好。我们已经在尽可能做的更好,起码在这个只看结果的时代,我们还是交出了 TP5 ,照理 V2 和知乎天天有人说 TP 不好用,我们还瞎折腾啥呢,赶紧放弃呗,好像做开源能赚钱似的。我们就是想证明国产也能有好用的框架,也能解决大部分用户的快速开发需求,大家觉得 Laravel 好用,这个很正常,没必要贬低和抨击其它框架,一个框架产品是否好用,还在于有多少人在用,生态如何,否则再好也是一个小众产品,另外从使用者的角度来说,关键在于你是否能驾驭,一个真正的高手,根本不会在乎用什么框架 甚至不需要框架,都能驾驭自如,框架本来就是为某些用户群而设计的,那么就青菜萝卜各有所爱吧,你管别人喜欢啥,人家凭啥要告诉你!
    wangxiyu191
        42
    wangxiyu191  
       2016-11-26 10:24:19 +08:00
    thinkphp3.2 到 thinkphp5.0 完全没有升级指南。。官方说直接重写比较好。。
    无力更新到 5.0 。。但愿官方会一直维护 3.2
    kiwi95
        43
    kiwi95  
       2016-11-26 10:24:40 +08:00 via Android
    “一个真正的高手,根本不会在乎用什么框架 甚至不需要框架,都能驾驭自如”
    讲真,要是 TP 都是以这个思路做框架的,我连试都不想去试 。都是国产,学学 vue 做框架、做开源的思路吧
    @kancloud 如果你是代表官方开发组的,建议你发言的时候还是注意一下影响
    fyibmsd
        44
    fyibmsd  
       2016-11-26 10:31:05 +08:00
    @kancloud 青菜萝卜是各有所爱,但狗屎人人唾弃
    jugelizi
        45
    jugelizi  
       2016-11-26 11:38:24 +08:00
    还是忍不住来说下
    楼上某些人还是去写 java 吧
    讲真 我遇到的的坑跌的 java 程序员比写 php 的多太多了
    Marser
        46
    Marser  
       2016-11-26 12:04:54 +08:00
    个人觉得还是没必要互相攻击,互相伤害。
    任何一个市场都是遵循优胜劣汰的法则。好的东西总是会在历史的进程中存留更长的时间。

    --------------------------------------------------------------------------------------------------------------------

    说不定,我们一边在喷着 TP ,一边还在写着 TP 的代码。喷完后该干嘛还是得干嘛,不是么?:)
    Ouyangan
        47
    Ouyangan  
       2016-11-26 14:23:09 +08:00
    @jugelizi .......你们自己内部吵吵就好 , 拉上 java 干嘛啊
    misaka19000
        48
    misaka19000  
       2016-11-26 14:33:59 +08:00
    @jugelizi 就是啊,还嫌黑 PHP 的不够多所以想要拉仇恨吗
    qa2080639
        49
    qa2080639  
       2016-11-26 14:36:41 +08:00
    这种引战贴也是够了,爱用不用
    onlyhot
        50
    onlyhot  
       2016-11-26 15:22:27 +08:00 via iPhone
    tp 和 php 一样,都不收待见。真的,爱用不用。闷声发大财不知道吗?
    这种帖子除了挑起争吵有什么意义。
    jugelizi
        51
    jugelizi  
       2016-11-26 16:47:54 +08:00
    @Ouyangan
    人生苦短
    我用 Python
    @misaka19000
    mingyun
        52
    mingyun  
       2016-11-26 17:05:55 +08:00
    又是一个争论贴,实用就好了
    soli
        53
    soli  
       2016-11-26 17:38:13 +08:00
    就是不喜欢这个名字。一看到就想起来 Think Java 、 Think C++ 之类的。
    tabris17
        54
    tabris17  
       2016-11-26 18:20:39 +08:00
    一个框架,竟然会存在 SQL Injection 的漏洞,也足够奇葩了。

    这种垃圾让人怎么放心用!!!!!!!!!!!!!!!!
    ericgui
        55
    ericgui  
       2016-11-26 18:44:19 +08:00
    提个小问题: ThinkPHP ,开发这框架的公司怎么赚钱呢?我对各种开源框架到底维持下去一直存在非常大的困惑。这也是我不敢用 tp 的一个重要原因。不敢说大公司的轮子一定好,一定活得久,但小公司的轮子,肯定让我不放心。
    billlee
        56
    billlee  
       2016-11-26 20:04:51 +08:00
    因为 php
    pyufftj
        57
    pyufftj  
       2016-11-26 20:07:45 +08:00
    @m939594960 laravel 是真的强,越了解它,越喜欢它。代码优雅,每次用 laravel 都不觉得累。
    vugusurk
        58
    vugusurk  
       2016-11-26 20:36:21 +08:00
    预防性 Block LZ
    m939594960
        59
    m939594960  
       2016-11-26 21:14:30 +08:00
    @shijingshijing laravel 臃肿确实是的,这点也是我一直觉得非常蛋疼的。。 给私企的小老板干活 还是得用 laravel,比 thinkphp 高不知道哪里去了,主要是第三方类库特别全, ueditor , RBAC , datatables 啊 等等,引个好用的包直接就能用,特别方便。 TP 要是实现这些东西都得手动论坛找然后复制进去,你也不知道论坛的代码对不对,论坛的代码有了 BUG 你也没办法帮他们修复。
    likezun
        60
    likezun  
       2016-11-26 21:23:55 +08:00
    还要说那么多了, Symfony 一步到位~
    Felldeadbird
        61
    Felldeadbird  
       2016-11-26 23:15:18 +08:00 via iPhone
    我觉得很好用啊,就是做点小东西时有点重
    x86
        62
    x86  
       2016-11-26 23:16:29 +08:00 via Android
    短时间写个小东西不错,唯一觉得坑的就是路由了
    abcbuzhiming
        63
    abcbuzhiming  
       2016-11-26 23:21:20 +08:00
    @changwei laravel 这玩意好归好,但是它最大的弱点就是,我如果要用它,我为啥不去用 java 的那堆 mvc 呢。论严谨漂亮, PHP 写成的东西先天就不如 java 。搞的和 java 一样臃肿,开发效率降到和 java 一个水平了,那 php 的优势就没了啊
    abcbuzhiming
        64
    abcbuzhiming  
       2016-11-26 23:29:44 +08:00
    @kiwi95
    1.我从来没听说过从框架开始学习的,如果他们会被一个框架搞的云里雾里,他们这辈子也就这样了
    2.一个框架成功的把一群开发者的 PHP 的水平拉低了?你确定你是在黑? TP 有你这么大的影响力吗?如果他们的水平低,那是真的低,不是被拉低,任何一个框架都是基于特定需求设计的,不可能没缺点,但都有自己独到的优点,我觉得你过分欣赏 Java 那套 MVC ,所以心里老是对框架标准过高,但是设计都是有代价的。你有兴趣的话,真应该去 java 那边呆几年,然后你就会明白设计的代价是什么,就不会求全责备了
    3.10e ?你指高并发吗?高并发业务和和语言级框架有什么关系啊。说这话优点故弄玄虚的味道,绝大部分高并发的瓶颈并不在语言级框架上,尤其是 PHP 的绝大部分业务都是基于脚本模型的前提下。更何况,有多少业务能搞到 10e 这个数量级啊?你确定你不是过早考虑优化了吗
    abcbuzhiming
        65
    abcbuzhiming  
       2016-11-26 23:35:09 +08:00
    @kiwi95 TP 应该向 laravel 学习这点我认同,但是认为有个度,不能“过度学习”, laravel 的哲学和 TP 是不一样的,如果 TP 放弃了简单的话我觉得那是失败,不要觉得简单和丑陋就一定是坏事。之前就曾经有国外技术大牛讨论,设计严谨精美的 haskwell 路线为啥最后败给了 C 语言这种既不优雅又不严谨的路线。根源就是,你想严谨,想要优美,是有代价的,而大部分人是凡人。所以 TP 的路线选择的非常对,简单化,让水平一般的人也能快速上手。是的,你们觉得简单带来丑陋,但是 who care ,对中国的现实来说,用的人越多越好。这些人中有一部分终将脱颖而出,有一部分一辈子也就停留在那水平了,这不是框架的错
    usedname
        66
    usedname  
       2016-11-26 23:36:02 +08:00
    A B C D E ................
    YooEgg
        67
    YooEgg  
       2016-11-26 23:38:52 +08:00 via Android
    那么问题来了。。最近想开始学习 php ,应该从什么学起来比较好。
    herozzm
        68
    herozzm  
       2016-11-27 02:22:15 +08:00 via Android
    路上的都让开, phalcon 来了
    fengdianxun
        69
    fengdianxun  
       2016-11-27 08:37:26 +08:00 via Android
    公司在用禅知,有了解的么?
    chaegumi
        70
    chaegumi  
       2016-11-27 09:17:55 +08:00
    thinkphp5 以前的版本,开始时我有看过,很难受,所以我后边一直用的是 codeigniter ,现在由于工作需要,现在才认真开始用 thinkphp5 了,还比较顺利,但是说好的 composer 自动加载,我刚才要用一个验证码 dapphp/securimage , composer 安装的,在 controller 里边用不了,这是什么鬼? codeigniter 完全没问题。 @kancloud
    chaegumi
        71
    chaegumi  
       2016-11-27 09:52:06 +08:00
    @chaegumi 知道问题了,要 \ 开头使用。
    kiwi95
        72
    kiwi95  
       2016-11-27 10:21:47 +08:00 via Android
    @abcbuzhiming 不想一条一条讨论了,我的观点还是 TP 说自己简单,以此为卖点,但其实一点都不简单,而是一种无设计或者设计混乱的表面简单,这是 TP 3.x 给我的印象,不知道 5 现在是什么样子,看了上面 TP 的人的回复,我也不想去试用了
    不是简单带来丑陋,是简单带来优雅,糊弄人的简单才丑陋
    kancloud
        73
    kancloud  
       2016-11-27 10:22:44 +08:00   ❤️ 1
    @x86 TP5 的路由相当强大
    @usedname 这是老版本了而且是历史遗留问题,新版本已经彻底废弃了单子母,改为助手函数
    @abcbuzhiming TP 虽然此次重构借鉴了 Laravel 的部分思想,但并非照搬,我们仍然保持简单易用的特性,设计也有所精简,但仍然实现了 80%的 Laravel 核心功能,但不会让开发者觉得门槛很高而且性能、文档方面的优势我们仍然会保留。
    @changwei 我其实并非针对你说的那句话,请不要介意,毕竟还是有很多用户一直在支持和贡献的 至于你在群里面受到的遭遇,我深感抱歉,群管也并非代表官方,都是社区义务帮忙,必然有时候有失妥当在处理问题的时候
    @kiwi95 如果我的言语有过激的地方 请包涵,确实是每次看到类似的帖子,心中是鸣不平的
    @m939594960 你说的是生态问题 我们一直在努力,尤其是 TP5 拥抱 composer 之后,这个问题会更好的改善
    @ericgui 关键是你见过国内哪家大公司愿意好好的做一个开源产品么,起码我们还坚持了十年,开源产品是属于社区的,不是属于某个公司或者个人的,这是很多人的误区,所以觉得开源产品的完善和自己无关
    klgd
        74
    klgd  
       2016-11-27 10:54:23 +08:00   ❤️ 1
    @abcbuzhiming 居然说开发效率不如 java ?黑的够可以的
    solaya
        75
    solaya  
       2016-11-28 10:08:15 +08:00
    垃圾 tp,垃圾 Laravel
    Symfony 是 PHP 最好的框架
    ragnaroks
        76
    ragnaroks  
       2016-12-01 08:36:19 +08:00
    @fengdianxun
    公开的文档比 tp3 还少,可以说,比起看文档,可能看源码来得要快.
    目前有个需求给做一个公文签收系统,里面包含论坛 /文章,我拿蝉知的博客模块改成了公文模块,按用户真实姓名限定是否可以查看.
    不过蝉知的 zentaophp 框架和 ci 比较像,有 ci 基础的很快就能知道怎么用
    crazyhl
        77
    crazyhl  
       2016-12-02 10:54:14 +08:00
    3.x 还是很招人喜欢的,但是 5.x 就把其他框架有的几乎不懂的就 copy 过来,文档弄得也不是很详细,感觉乱糟糟的,他那不是不喜欢,就是现在有些乱而已,慢慢来吧,希望会好起来
    Septembers
        78
    Septembers  
       2016-12-19 14:31:41 +08:00
    @m939594960

    关于 链式操作 这个正式名称叫 Fluent interface
    (这个词大概是 ThinkPHP 自己生造的)

    see https://en.wikipedia.org/wiki/Fluent_interface
    costa92
        79
    costa92  
       2016-12-21 13:29:45 +08:00
    不太喜欢 tp ,那种函数命名太坑了!看着都不习惯!不过我入门的时候还是用 tp ,所以新手还是用 tp 比较好!我现在用的是 laravel !感觉上比 tp 舒服一下!~
    Storm1989
        80
    Storm1989  
       2017-02-27 17:16:53 +08:00
    培训班教 laravel? laravel 涉及的东西那么多,让新手学,估计十不存一
    forelegance
        81
    forelegance  
       2017-06-14 17:49:04 +08:00
    PHP 和 Perl 语法很相似,都是很老的脚本语言,设计支持就是以轻量开发为目的设计的。PHP 没有框架就太麻烦了,比较很多功能,即使是自己写,也是封装了用的。thinkphp 不喜欢的是 think,php 才是亮点
    ttomath
        82
    ttomath  
       2019-05-22 08:50:37 +08:00
    @kiwi95 跑出多少级别的业务,跟框架有关系?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3122 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 13:58 · PVG 21:58 · LAX 05:58 · JFK 08:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.