大家好,我是编程小6,很高兴遇见你,有问题可以及时留言哦。
「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」。
本人是主要做php项目的,以前是从来不屑于用框架的,由于项目原因,这几年对比较流行的框架,都涉猎了一下,毕竟甲方是老大,人家制定让用什么,你必须要用,有时候你可以劝他们改变初衷,但有时候你只能遵从或者放弃,...至于因为这点原因放弃,那是不可能的,不过好在硬着头皮用了一遍之后,发现在开发效率方面确是大大提高。现在就谈一下我的一点感受。
PHP是世界上最好的web开发语言,这个无可辩驳,当然去掉web两个字,这毫无意义,网上很多喷子鼓吹的java,.net,python都差的远。
php有如下优点:
php的缺点:
什么时候使用PHP
项目不大,如何判断这个呢,就看你需要几台服务器运行这个程序,如果有几十、几百台的话那就是大项目了。10台以内php都可以轻松应付。
对于千万级的中型项目,可以采用这些方法减少压力:
原生开发的优点:
框架开发的优点:
个人总结,对于业务逻辑不是很复杂,能用框架的还是用框架吧,确是省事很多。如果你很多功能用框架不好完成,那就用原生,没必要纠结太多。新手如果自己不能判断可以加老刘微信(jsjlaoliu),把你的功能发给我,我可以帮你判断下用什么框架合适。
这是我目前使用最多的框架,也是国内使用人数最多的框架,日常开发中的大多数功能基本都包含了,如果没有的可以找一下扩展插件,强烈推荐。
支持php7、php8,对我这样的版本强迫症来说,对那些不支持php7以上的框架我都不戏使它(山大方言,不屑于使用它)。
另外从下一篇开始,我准备写个简单的Thinkphp6使用教程,有需要的可以关注我。
怎么说呢,CodeIgniter3.0我用着挺好的,使用频率超过Thinkphp,结果到了4.0,好像完全变了一个软件,易用性大大降低。而且这个框架更新比较慢。对于使用php7以下的(不含)建议使用CodeIgniter3.0,php7以上的还是用Thinkphp吧。
传说中Laravel是一个简单优雅的PHPWeb开发框架,可惜本人不怎么优雅,感受不到,反而是被那些繁琐的配置搞的好乱。其优点是大量的第三方开源库,可以快速方便的实现模块功能,安全机制非常齐全,提交表单的数据验证(验证有差不多80种,能想到的基本都有),提交数据时产生随机_token验证,避免非法提交,能避免跨域攻击;继承了登录验证、权限验证的,这个的确很方便,有兴趣的朋友可以研究一下。
Yii采用严格的OOP编写,这个是它的主要特点,奈何我这个人不太喜欢严格,Yii的组件非常多,学习成本也有点高,据说适合用于开发大型Web应用。
Yaf,全称YetAnotherFramework,是一个C语言编写的PHP框架,是一个以PHP扩展形式提供的PHP开发框架,相比于一般的PHP框架,它更快,更轻便,据说性能很高,不过我做的小项目,感受不出来,这个框架学习起来难度有点大,使用人数也不多,但是用它的几乎都是大公司,新浪好像就用它,百度以前也用过。做小项目就不要去了解了。想要进大厂的可以研究一下。
z这个和thinkphp很类似,据说think开始的时候就是参考的它,既然如此,我们还是用think吧,毕竟国产的,大家看得懂,遇到问题也容易找人请教。
ZendFramework(简写ZF)是开源的,主要用于Web应用程序的开发和服务,ZF采用MVC(Model–View-Controller)架构模式来分离应用程序中不同的部分方便程序的开发和维护。框架包很大,功能很多,学习起来成本有点大,性能并不是很突出,国内用的也很少,我没怎么研究过。
好了,本文就介绍到这里,php框架有不下千种,我这里都是介绍目前比较主流的php框架,对于疏漏的,大家可以留言补充,另外国产的框架其实也不少,但是大多个人开发的,所以没多做介绍。从下一篇开始,我将带领部分菜鸟开启Thinkphp6的学习之旅。