今年已经是2017年了,php诞生于1994年,至今已经走过23个年头,不过流行起来也就是最近几年的事情,最近几年中国互联网快速发展,因为对于web开发,php的维护成本低、开发速度快、又有强大的资源等等,所以php趁机上位,大行其道,成为web项目首选。那现在学php有没有前途?对于php未来发展前景怎么样?甚至是php未来的10年发展如何?针对很多php初学者比较关心的问题,做一个客观的分析!
开课通知:《第10期php线上培训班》正在报名中!
我们先来看php是什么?
php(外文名:php: hypertext preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了c语言、java和perl的特点,利于学习,使用广泛,主要适用于web开发领域。php作为非常优秀的、简便的web开发语言,和linux,apache,mysql紧密结合,形成lamp的开发黄金组合,不仅降低使用成本,还提升了开发速度,满足最新的互动式网络开发的应用。
php1
php最初是作为一个快速、实用的工具包出现的。1994年,为了在自己的网站上增加一个小巧而实用的访客追踪系统,rasmus lerdorf编写了php的雏形程序。这是一个用perl封装的简单工具。由于使用效果并不理想,rasmus又用c语言重写了这个工具
...............
详见:再谈php是什么?论php的前世今生
以下是网友和的对话:
php初学者q:从web开发的历史看来,php、python和ruby几乎是同时出现的,都是十分有特点的、优秀的开源语言,但php却获得了比python和ruby多得多的关注度(php在本月的tiobe排行榜上已经排行第三,超过c++了)。您认为这和php旨在网站开发的立足点与php语言本身的特点有很大关系么,还是有什么其他的因素影响?
a:三门语言当中,无疑php是最流行的,而python和ruby在最近几年也有着不错的发展趋势。我个人认为,ruby的流行更多地源于ruby onrails,这个框架的流行程度甚至超过了ruby语言本身,也引发了其它语言平台上对框架的研究。而python在近来的被关注度和发展速度要超过ruby,被一些喜欢创新的项目采用,这可能要更多地归功于google。这三种语言都是相当优秀的脚本语言,为什么php能大行其道,杀入排行榜的三甲呢?从表面上来看,这是就业环境使然。越来越多的新公司或者新项目使用php,这使得php相关社区越来越活跃,而这又反过来影响到很多项目或公司的选择,形成一个良性的循环。就我目前了解到的情况,php是国内大部分web项目的首选,而且有很多公司从其它语言(如asp,java)转到了php。合适的就是最好的,php的快速,开发成本低,周期短,后期维护费用低,开源产品丰富(这点可以影响到很多项目的决策),这些都是另外两种语言无法比拟的。另外,在很多大项目中,python更多地是做为一种“粘合剂语言”出现,似乎正在走向与php不同的发展方向,让我们拭目以待。
php初学者q:php开发框架的盛行是由ror的火爆所引起的,而php框架的发展也从模仿rails到逐渐有了自己的风格。不过仍然有很多入行较早的php开发者至今仍认为php这种快捷的语言不需要框架,甚至认为只要有优秀的架构,框架根本没必要。您认为php框架对php而言是必要的么?您对于php开发工具的现状满意么?
a:这是一个见仁见智的问题,我个人认为,一个优秀的框架能在很大程度上提高工作效率,尤其是对大中型项目。当然如果对项目有足够的把控能力,框架也并非是必须的,毕竟php的框架跟ror的情况有所不同,多而混乱,而学习一个框架是需要时间的。像你的问题中提到的,很多老的php程序员对框架不屑一顾,认为自己对项目有足够的把控能力,不需要框架这么累赘的东西,然而从长远来看,一个优秀的框架可以延长一个项目的寿命,降低维护和二次开发的成本。我们目前开发了自己的cms,目前这个cms极大地提高了我们的工作效率,我们会在适当的时候将这个cms开源出来供大家免费使用。
php初学者q:php的面向对象设计的并不是很好。很多在java一类语言里面可以很好应用的面向对象写法在php里面实现起来却很繁琐。您认为面向对象对于php这样的web开发语言来说重要么?php的面向对象是否还能够改进呢?
a:php的面向对象属于历史遗留问题,而且,说其不好,慢慢也会成为历史问题,不论对什么样的语言,面向对象更多的是一种思考问题的方法,没有必要为了面向对象而去面向对象。php最初的面向对象,可以简单地看作是函数的升级,曾经被很多其它语言的开发者取笑,但是php7的面向对象已经足以满足大部分web项目了。一门语言要想生存下去,就得去适应技术发展的潮流,并不断做出调整,在这方面,php的团队充满了活力。
php初学者q:php网站的安全是个很常见的问题,有关php网站漏洞的消息是很多的。您认为这其中的原因和php语言本身的特点有关么(相对于如php网站数量、php代码编写习惯等其他因素)?php的安全有改善的空间么?
a:网站的安全是一个比较系统的问题,它跟服务器安全以及代码的质量是直接相关的,我们并不能说php这门语言不安全。目前php有很多优秀的开源产品,例如discuz,phpcms等,即使在开源的情况下,这些产品也保证了足够的安全性。php的门槛很低,一两周的时间就可以入门(php学习路线图),而这些“快速入门”的程序员,往往容易忽略代码安全问题。安全问题的改善,取决于越来越多的php程序员对这个问题的重视程度。
php初学者q:现在在不少大型项目中,php完全充当了脚本的功能,而逻辑性比较强的业务处理则由另一门功能丰富的语言(例如java)来实现。您认为这样在复杂度、开发快捷度、开发周期以及成本等方面有着怎样的影响?
a:这种情况确实存在,但我认为之所以出现这种情况,并不是因为php“做不了”,而是很多项目负责人对php的偏见以及对java等语言的迷信造成了这种现状。当然,我们不能否认,有很多问题确实是php做不了的,做为一种解释型的脚本语言,php本身就不适合做大型的数据运算,它也不可能成为一门“万能语言”。在大型项目中,多种语言配合工作是一件很正常的事情,例如说,php负责收集数据,提供界面,c负责处理分析数据,python来做粘剂。各种语言各司其职,协同合作,只是分工的不同而没有高低贵之分,就像如果用c来做数据展示一样会很痛苦。我不认为php往复杂计算方面发展是一件好事,而且我相信php的开发团队也会把握好这个度。没有哪种语言可以做到“万能”,java有这样的野心,但我们可以看到java现在的境遇似乎并不如php那么红火,如果php也追求“万能”,那将是一场灾难。
关于php开发人员的薪资:
php开发人员的薪资一般是根据技术水平和工作年限决定的,刚入门php开发人员薪资平均在4000左右,有2年工作经验后平均在1w左右,那么2017年php高端人才的薪资待遇如何呢?整体需求环境如何?转载一个互联网人才高端招聘平台100offer的招聘数据来说明。详见:2017招聘季:高端php人才薪资待遇如何?
总结:
每种语言都有各自的优势缺点,php作为目前web开发最佳语言,随着移动互联网的快速发展,在未来10年发展前景依然广阔,在php技术方面也是在不断的更新迭代中,php入门易,精通难,且做且珍惜!学php有没有前途,除了学好php语言,后天的规划也很重要,做一枚安静的屌丝or出任cto,迎娶白富美?选择什么样的平台很关键,大平台技术好,福利高,有保障,但是空间小,像螺丝钉。发展型公司氛围好,产品前景不错,空间大,但是风险大,选择各有利弊,结合自己不同阶段的追求,才能做出最适合自己的选择。
相关文章推荐:
2017年最应该学习的编程语言是php?
php难学吗?php学习从入门到精通需要多久?
php“钱景”如何?看看内行怎么说?
2017年python语言未来发展前景展望