php为什么凉了
发布时间:2025-05-20 08:11:22 发布人:远客网络
一、php为什么凉了
PHP虽然已经成为了互联网发展的重要组成部分,但相较于其他后端语言,PHP的确曾经存在一些问题,可能是下面原因导致PHP有些失去市场:
和其他后端语言相比,PHP的性能有时不如人意。许多传统的PHP应用程序的代码质量不高,代码冗余较多,执行效率低下,也是影响PHP性能的一个重要因素。
在扩展程序和技术方面,PHP曾经存在一些问题,不适应大型网站的需求。一些定制的模块和扩展程序,以及其他后端语言的技术在某些方面比PHP更有优势。例如,Node.js语言可以让后端应用程序在单线程中运行,并且拥有非常大的资源库和社区支持,这为在云端或分成架构下运行的应用程序带来了更大的选择空间。
PHP之前存在着许多安全漏洞。虽然现在PHP有了更好的安全规范和框架可以使用,但是由于PHP之前存在过大量的安全漏洞,对于一些大型企业而言,PHP可能不再是首选语言。
然而,自2015年以来,PHP语言逐渐发展,不断打磨自己,使自己的优势在一定程度上得到突出体现。近年来,PHP也推出了较为完善的MVC框架、Laravel、ThinkPHP、Yii等,作为Web开发的不二选择。总之,PHP并不是凉了,它有着自己不可替代的优势,并且一直在持续发展中。
二、PHP为什么说是最好的编程语言
尝试百度”PHP是最好的语言”,发现指向较多的是那个关于程序员的笑话。但是如果这个梗来自于这个笑话的话,那么为什么在笑话里这个程序员不说C++/python/haskell或者别的什么语言是最好的而要说PHP是最好的呢?所以感觉似乎最早的出处不在于此。有人知道吗?
来看看知乎网友们是怎么看待这场语言之争的吧!
「为什么在笑话里这个程序员不说 C++/ Python/ Haskell或者别的什么语言是最好的而要说 PHP是最好的呢?」——因为说任何其他语言「最好」都并不好笑啊。
任何掌握超过两种以上非 PHP编程语言且具有一定常识的程序员都会本能地意识到 PHP的问题所在,曾经有一篇汇总性的文章在此: PHP: a fractal of bad design/ fuzzy notepad(译文版可见:五大受损,全面解析PHP的糟糕设计,但翻译得很烂),历陈 PHP破败之处,激荡深远。如果你没时间去读那篇长文,那我告诉你一个简单的例子来说明 PHP有多匪夷所思:PHP的核心函数命名很不一致,有「strptime」这样类 C函数的名字,有「nl2br」这样的简写,却也有「htmlspecialchars」这样的长名。后来人们发现这种不一致并非偶然,而是当 PHP还是只有不到一百个函数的小语言的时候,其作者决定用函数名的字符数量——来作为函数的 hash(!)。由于这个愚不可及的决定,PHP的函数名长度要尽可能地长短有秩、均匀分布,影响一直延续至今。甚至有好事者将上述文中:
You pull out the hammer, but to your dismay, it has the claw part on both sides.这一句严肃对待,做了一把 PHP锤子:
试想你走进五金从业者公会的啤酒馆,看到墙上挂着从钉子到电动螺丝刀的各式工具当作陈列品,而你在端详一阵之后指着其中的这样一把锤子,说「啊,这是最好的工具」,你觉得酒馆里的人会是什么反应呢?
因为php和最好的语言几乎没有关系。。一般用来讽刺一些没见过世面,把自己归属于某一种编程语言的语言教徒。
事实上每一门语言都有其设计的灵魂,有它的取舍。很难说什么是最好的。比起做个脑残粉总是鼓吹自己擅长的语言,不如多学几门语言,开阔视野。
我们都喜欢分享自己的价值观。希望被认可,希望有更多同伴。其实这也是在给身边的人洗脑,这很正常。但有时候自己在某一领域的付出会成为枷锁。
我看楼上还有很多还在讨论PHP不是最好的语言,还好我不是程序员,只是稍微懂一点代码,我认为之所以说这个梗,是因为PHP最普及和最流行,大多数不管懂不懂程序都知道或听说过,所以才能引起共鸣。这就是我上面那句吐槽的含义。
如果上面那句吐槽改为:Ubuntu是最好的操作系统!(围观群众:What?)
难道不是这么来的?某女:你能让这个论坛的人都吵起来,我今晚就跟你走.
某女:服了你了,我们走吧你想干啥都行.
某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言
但是php和java确实是最受争议的。
自从web2.0热起来后,java逐渐淡出了。
所以很多并不适合编程的人涌了进来,仅仅为了糊口罢了。
这些人的各种无敌言论自然让很多专业的人呲之以鼻。
虽然在施毒方面有些特长,但门下弟子总的来说武艺平平,
其实江湖武功低微的人多的是,低调便是了,谁又老是盯着你呢?
然而这个新宿派却偏偏跑出去招摇过市,胡吹本门派武功盖世,大有傲视天下之势,
那么其他门派的人会怎么看他们呢?
对我来说PHP就是最好的语言。它不是炫耀技巧、扯蛋概念的东西。完成任务才是程序员要做的事。没什么语言可以高效开发同时高效运行。
作为一个十多年老phper,看到这句话,也会笑。虽然我也会c c++ java go,并都做有相应产品。世界上一半以上的网站是php, bat, fb,处处有它。但这些大公司在近些年,都在试图改造它。淘宝去php改java,百度重写扩展,fb搞xhp等等。但结局是搞了这么些,这几大公司却收效甚微。比之前的性能提升不了太多。在我理解看来,无非是想提高一下b格而已。
在php的初始阶段,php是连框架也没有的。直到今天,php创始人lerdorf仍然反对mvc,因为他觉得影响了性能。在那个年代,同样的一个应用,做java的待遇比php高一倍。因为php简单。如果跟你说一个人花了一个星期用php写了个论坛,跑得也还蛮好,你一点也不要惊讶,后来这个论坛还卖给了阿里。面向过程的php,成就了无数小的站点。
后来是一个框架辈出的阶段,phper们终于也有了跟java一样的mvc,待遇也慢慢接近于java了。大家明白了一件事,大项目,得有点高深的学术内涵才能忽悠的住。opp也更加规范了,你能找到的设计模式,php全都有,于是phper放言:你还敢说php不高级,不入流?而实际上,设计模式,真正能用到的就那么一两个。对于解析性语言,我只能,呵呵。
归结一下,php,我觉得更像屌丝逆袭。然后,笑的人有两种,一种是屌丝的自嘲,另一种是高富帅的妒忌。
跟py相比,它不需要django之类的库,原生就支持web。小白们不需要配置什么东西,门槛就低了。而且php的语法是类C的,函数命名大部分也是类C的,大部分码农在学校或多或少都学过C/C++,接触php肯定要比py顺手。
跟java相比,支持php的主机显然更多。云主机兴起之前,是个虚拟主机都是lamp,都支持php。而虚拟主机是最便宜的解决方案,也就是说随便租个虚拟主机就能跑php的网站,成本就低了。
我个人认为没有什么最好的语言,只有最合适的语言。php之所以在web2.0的时代异军突起,击败了py,原因跟php坑不坑没有关系,跟契机有关系,跟他在那个环境下合不合适有关系。把php的流行归功于什么最好的语言简直是胡扯,也是没动脑子。
大部分敢于说自己是最好的语言的语言,至少有一部分人是真这么认为的。
比如说C语言最好的,最差最差也有一部分C语言核心开发者有信心这么说。
但是PHP语言是一个连开发者都不敢『声称是最好的语言』的语言。
这是不言自明的公设,不需要证明。
会不会用PHP是有一个明确判断标准的:
只有觉得PHP是个烂语言,才有资格说「我会PHP」。
如果你连PHP有多烂都感觉不出来,请别说「我会PHP」「我会编程」。
因为php算不上一种语言。就好像说“射钉器是世界上最好的武器”一样。
三、为什么要学习PHP
为什么要学习PHP?到底什么是PHP?PHP可以做什么?相信这样的问题困扰着很多的人,在我没工作之前,都没有听说过PHP,自从工作后,慢慢接触到代码,慢慢知道什么是PHP。PHP是做网站一种语言,很多工程师都使用PHP语言来编写代码,其应用范围很广。
如果我是一个前端工程师,我可以用JavaScript来实现程序编写。但JavaScript的能力是有限的,JavaScript通常运行在浏览器(客户端),它可以制作网页上面的特效:鼠标滑过背景改变颜色,还有网页上常见的鼠标滑过弹出菜单。但如果要让JavaScript实现显示“访问网站的总人数”,它就无能为力了,因为它只能获得客户端的信息,而“访问网站的总人数”是存储在服务器端的。所以就需要另外一种可以在服务器端运行的编程语言,PHP语言就是其中的一种,因为它可以运行在Web服务器端。
在学习PHP之前让我们来认识一下PHP及其功能。
1、运行在服务器端:学会了PHP,就可以指挥服务器给你干活,甚至是搞破坏^_^(千万不能真这么做咯),WEB网站的大部分数据都是存储在服务器端的,PHP就是用来处理这些存储在服务器的数据的(功能强大吧)。
2、跨平台:服务器可以是多种平台的服务器,比如Linux、Windows、Unix,你都可以指挥(不用怕只能指挥一种服务器啦吧)。
3、脚本语言:它是通过编写脚本,也就是一行行的计算机指令(也可以理解为特定的英文单词),来指挥服务器来工作的,因此,在编写PHP的过程其实就是与老外(服务器成老外啦)交流的过程,交流的语言就是PHP。
4、免费:免费使用(天下还真有免费的午餐)。
PHP能做任何事。PHP主要是用于服务端的脚本程序,因此您可以用PHP来完成任何其它的CGI程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收Cookies。但PHP的功能远不局限于此。
服务端脚本。这是PHP最传统,也是最主要的目标领域。开展这项工作您需要具备以下三点:PHP解析器(CGI或者服务器模块)、WEB服务器和WEB浏览器。您需要在运行WEB服务器时,安装并配置PHP,然后,昌平电脑培训认为可以用WEB浏览器来访问PHP程序的输出,即浏览服务端的PHP页面。请查阅“安装”一章以获取更多信息。