这两年越来越多唱衰php的,而且php的市场也越来越小
梗
php是世界是最好的语言吗?虽然说这是一个梗,但是事实上在web端曾经可以说的上是最好的语言,那么及时在现在,如果想快速搭建一个动态的网页项目,php也是快速落地的好方案,开发速度快,成熟的生态,大量的案例适合二开
但是也仅仅是在web端
发展
PHP最初是以模板+脚本的形式进行设计,在Java还是使用 system.out.println进行拼接动态网页的时候,php可以直接在页面中编写动态脚本,那么在web发展火热的时候,php也跟着火热起来
有个段子说,你看在一直打开网页搜索的程序员一定是PHP程序员,其实是有道理的
PHP能快速发展的一部分原因就是提供了大量的预定义函数,使得新人能够快速上手,好用是一方面,但是确实难记,加上早期的定义不规范,参数和方法名都很混乱,那么使得即使你是一个老手,还得看手册
变化
随着后来web的快速发展,慢慢出现了大型的网页应用,移动应用,前后端分离应用
PHP因为自身特性的原因,性能饱受诟病,在这个过程中
大型的公司可能有能力解决,比如Facebook的php虚拟机HHVM,但是没有这个实力的公司只能重构,加上Java的后期发展迅速,很多就转向了Java的怀抱
现代化
后来PHP也出现了Laravel这样现代化的适合前后端分离的框架,还有swoole协程,加上php7性能上的提升,composer包的有效管理
php是完全可以用来开发大型项目的,但是这个时候,大量的PHP开发人员已经流失了
处境
那么在现在,仍然在使用PHP的,要吗就是已经有成熟的PHP开发体系的,有大量的遗留项目的大型公司,要吗就是追求速度的初创公司
大型公司就不提了,被干了几年了大牛牢牢把控住
那么在初创公司,其实PHP也是不顺利的,首先现在网页端的流量流失了
很多公司要招会小程序,会跨平台的人,那么还得会php的能实际开发的人可以算的上是初级全栈了
初创公司肯定是出不起这个价钱的,而且学php的新人越来越少了,这就行成了老手看不上,新手做不了的局面
有钱一点目光远一点的初创公司会干脆就招个前端 招个Java后端把项目架构做的好一点,万一就是这个产品成功了还能使用长一点的时间
剩下的一些初创公司就会选择转向云开发,反正业务也不多,数据量也不大,找个会node的前端就做了
回到最初这个问题上来,现在还可不可以学习php,当然可以
特别是要想回三四线城市工作的学历不好的同学,PHP在这些地方非常容易找到工作
学习的根本
但是我们剖析一下这个问题,提问可不可以学习php,完全是从就业这个方面来想得,但是认真想一下,学习php我们到底学习了什么东西
算法和数据结构、面向对象,包括更多使用的Mysql、redis 、mongodb 、nginx,这些东西完完全全是通用的,那么使用php来操作和使用Java来操作无非是语言上的区别
如果一个程序员一直在因为自己使用的语言会不会淘汰而忧虑,那么可以说你完全没有领悟到学习编程的精髓
任何语言不过是需求最终落地的具体实现而已,当前场景最适合什么就上什么,我们最终要学会的只是解决问题的思路
PHP曾经如此繁荣,肯定不会在短时间内就落寞的,很多初创公司使用php快速上线,来验证产品思路也是没毛病的
php在国内的发展过程中,真的可以说是带活了中国的一大批草根站长走向致富,很多人编程水平并不是很好,但是因为有自己的思路也能实现获利
反而是一些自认为学了很多新技术,很多新框架的人,每天加着班,却还在嘲笑使用旧技术的人, 才是真的井底之蛙,四川话来说:就是要不得完求了
道理归道理
但是对于初入门后端的同学来说,目前php可能不是你最好的入门语言,联合我上面的说法,就是php可以学,但是我不推荐将其作为后端的入门语言
首先目前在国内前后端的分离趋势中使用php来作为纯后端的占比是非常低的,所以你必须要学一些其他的东西,对于你想深入后端这一领域不太友好
其次PHP易上手,但是对于一个初学者来说很难体会到纯粹的从零到无这个过程,PHP发展最火热的那段时间,就是因为快速入门的初学者过多,导出代码水平的层次不齐,后期难以维护,这种弱类型的脚本语言对于新人的规范和理解并不是很好
那么说到最后 我们这些小人物有什么资格去议论一个语言的兴衰呢?这些产物说到底还是资本角逐的结果,我们在这个过程中无非就是充当一个工具的角色
学编程又何尝不是一个在学习做人的过程呢?