Yii与ThinkPHP的抉择

在之前的一篇文章《浅谈我对开发效率与执行性能的抉择》中,我曾提到过我要学习YII框架
这几个月间,虽然偶(chen)尔(mi)玩玩游戏,但我也没有停下学习的脚步 放慢而已

不得不说Yii是个很强大很现代很优雅的框架,比辣鸡Codeigniter高到不知哪里去
但在我实际两个月的学习当中,我最终还是放弃了它,转向了ThinkPHP
很多人都无法理解我的选择,于是我决定写篇文章总结分析一下我为什么选择了ThinkPHP
或许也可以给那些和我一样纠结的朋友们一些帮助

本文仅针对我自身实际情况展开讨论
包括但不限于:技术烂、英文差、精力和时间仅够学习一款框架

1.文档

Yii的权威指南翻译不完全,页面偶有缺失。认真看过的人都知道:

  • 经常一页文档滚几十次屏都没到底
  • 而且文档没有子目录
  • 小标题与正文没有明显区别
  • 没有搜索功能
  • 等等……

这就导致你在翻找时很难找到你需要的资源,单页文档过长,观感也很差
更致命的问题在于文档没有搜索功能,你得先猜测你要找的东西属于哪个分类,然后再到分类里去慢慢翻找
好不容易找到了吧,它还可能是英文的……

至于它的类参考手册就更别说了,类似字典般,几乎是纯英文的……

我们再来看看ThinkPHP的完全开发手册
美观自然,顿时感觉世界都清新了
基本上刚才吐槽Yii文档的不足之处,ThinkPHP都做得不错
示例与讲解相辅相成,对新手太友好了

要说不足之处的话,一旦熟悉了TP以后再去翻看文档找东西时,就会觉得TP的文档太罗嗦了。TP若是能出个像YII那样的类参考手册的话,想必更适合老鸟

2.注释

框架咱不仅要学着用,还得学着写,多阅读框架源码能学到很多东西
例如不知道这个函数参数是啥又懒得翻文档觉得很神奇想知道是如何实现等等,都需要阅读源码
那么在这个过程中,注释就起到了至关重要的作用
Yii的注释嘛……英文的……别说了让我去哭会儿……
TP的注释就舒服多了,全中文,也很详细。变相实现了上述所说的类参考手册
但是不如Yii的类参考手册那样详细,因此如果可以的话,还是希望TP能专门出一个,汇总一下,找起来也会比较方便
(不过考虑到TP母公司作为一个商业公司,开源&维护TP已经很不容易,我就不抱希望了……)

3.资源、社区

这其中包括技术文章问答论坛国内常用服务的封装类等等,毫无疑问在国内TP胜过Yii几条街
这在学习、提高的过程中是至关重要的。虽然不是说没有就不行,但能帮助你少踩很多坑
并且由于特殊的国情 GFW,往往很多开发中需要使用的第三方服务都只能选择国内的,而它们的文档又往往全是(特指但不限于微信)。这时候,要是有中文文档、中文注释、针对框架开发的类库可以直接调用就好了……
在这个场景下,TP也是领先Yii的

4.就业

Codeigniter并不流行,它不适合中大型项目的开发
现在公司的项目就是用它开发的,做大了之后简直想死……
以我目前只能专心学习一个框架的条件来看,不能是光为了学习、提升自己,还得考虑就业
我翻了翻各大主流招聘网站,以我目前的水平&有能力争取到的薪酬范围来看,几乎半数工作都要求熟悉ThinkPHP,还有几乎半数要求熟悉至少一款主流PHP框架,剩余极少数才会单独要求Yii、Codeigniter、laravel之类

总结

以我目前的情况而言,TP无疑更加适合我 菜鸟
当然我也不是因此而否定Yii
等我熟悉了TP、找到了稳定的新工作之后,依然会用业余时间提升英语水平,再去学习Yii、Laravel之类国外强大优雅的框架

至于时间嘛,就暂定为6个月十年 之后好了
六个月内,熟悉Tp框架,找到新工作,并转向Yii或Laravel之流

祝福我吧!

11 条评论

点击这里取消回复。

昵称
  1. sensune

    Tp框架也就上手简单,开发迅速了,TP5 手册有点坑(因为完整的手册收费),很多东西写的让人摸不着头脑,设计几乎照搬laravel,ror,TP3 bug多,TP5比较TP3好很多,但还是有点bug,上次因为链接sqlsever一直出错,结果还是因为TP5的源码有问题

  2. eluo

    你的网站评论有些问题. 检查一下.

    1. mokeyjay

      是的,有。等我学完Laravel+Vue重写一个博客系统