这是我在工作中总结的,对ThinkPHP5和Laravel5的一些看法,大家可以讨论留言,需要进阶的小伙伴可以进我的官方群。
技术社区里面经常有人提到ThinkPHP5和Laravel5的优缺点,或者抄袭之类的,其实每个框架都各有优缺点 没有完美,所以优缺点就看开发者的角度和认识(因为你熟悉了一个框架 用起来顺手本身就是一个优点),对于有些用户(尤其是新人)觉得文档好、上手容易是优点,有些用户觉得性能好是优点,又有些用户可能觉得方便扩展才是优点。但往往一个缺点会掩盖所有的优点,这就是很多用户抱怨的原因。喜欢一个框架一定有喜欢的地方,讨厌一个框架也总能找出理由。我觉得开源中国的用户相比国内某些社区来说不那么逼乎,言论都相对客观,所以就特别写了下面一些内容。
以往的版本我们就不说了(已经过了维护生命期了 大家也没有必要揪着历史说事,事物都在发展),毕竟和LV相提并论的最多也是TP5。
150粉丝福利安排PHP进阶资料,免费获取
我们在开发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更严谨,生态成熟。性能在这个时代其实已经不是最关键的了,所以我并不想强调性能方面的,国内的企业更关注的是开发周期和开发成本。
大厂必备面试题
程序猿的生活:PHP经典面试题集(含答案)zhuanlan.zhihu.com喜欢我的文章就关注我吧,持续更新中.....
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处。
原文转载:hmy.oschina.net/thinkphp
喜欢我的文章就点赞关注吧