PHP很差吗,为什么这么招人恨

尽管PHP经常被吐槽(感觉这些吐槽比最近Tiktok难民交的猫税还多),但它依然是最常用的服务器端脚本语言之一。

没错,你没听错。根据3Techs的数据,截止到2023年7月,我们知道的所有网站中,有高达77.4%在用PHP。这可不是小数目哦!

PHP之所以变得这么火,主要是因为它入门简单。没等你喊出“Hello, World!”,你可能已经能搞定一个网页跟数据库的交互了。还有,别忘了WordPress。能想象它撑起了超过网络40%的内容吗?

但即便有这么亮眼的成绩,PHP经常被拿来开玩笑。随便搜一下“PHP hate”,你能找到的黑料堪比小红书上的猫税。

就连PHP的创造者,Rasmus Lerdorf,都曾说过:“我不知道怎么停下来,我本来也没打算造一门编程语言[…]我根本不知道怎么造编程语言,我只是一步接一步往前加。”要说这不是最励志的起源故事,我真不知道还有什么能算是。

理解吐槽:为啥PHP曾经不受待见

回到过去看一看。

PHP在1995年首次登场,说实话,它当时并不怎么吸引人。坦白说,它有点乱。

它早期不受欢迎的一些原因包括:

不一致性: 函数命名和参数顺序经常乱七八糟的,更像是随意堆叠的煎饼,而不是精心构建的华夫饼。

安全问题: “PHP不安全”这话在网上传了好多年。这里面确实有点道理。

早期的PHP让开发者很容易在应用程序中留下大漏洞。你不会把家门大开,挂个牌子写着“欢迎偷东西”,那为啥网站要这么做呢?但嘛,人总得学习嘛。

不完善: 直到2004年PHP 5发布,对象导向编程(OOP)才得到完全支持。想象一下,有人邀请你去参加聚餐,他们却迟到了9年,还带了个半吃的三明治。

调试难题: 调试PHP就像和一个忍者玩捉迷藏。问题是,这个忍者还是隐形的,而且身上着火。

促进坏习惯: PHP的宽松错误处理和类型检查导致了一些糟糕的编码习惯。

但嘛,人人都有犯错的时候,编程语言也一样。说到底,任何工具用得不好都会出问题。看过够多的烹饪秀失败,我知道失败不总是厨房的错。

但等等,在你彻底否定PHP之前,我们得记住,从90年代中期到现在,很多东西都变了。

就像你不会只看一个人的高中毕业照片来评价他们一样,我们也不该只看PHP的过去。所以,让我们甩掉那些过时的观念,看看PHP这些年的成长吧。

因为剧透警告:它已经走了很长的路。

PHP的进化:从PHP 4到PHP 8

讲公平话,PHP确实在不断进步。它就像去了一趟修行之旅,找到了个禅师,然后以一种焕然一新的模样回来了。

首先,2004年的PHP 5让我们看到了向对象导向编程的大步前进。PHP成熟了,开始穿西装打领带,和Java、C#这些大佬们打交道。

我们得到了更好的OOP支持,还有一堆让PHP成为更强大、更灵活语言的功能。是的,还有些小毛病,但语言开始显现出成熟的迹象。

然后是2015年的PHP 7,带来了速度和性能上的大幅提升。就像PHP从骑三轮车变成了开跑车。加上了标量类型声明和返回类型声明这样的功能,PHP开始更严格地执行类型检查,这能预防代码中的很多问题。

但进步没停止。2020年发布的PHP 8加入了更多新功能。命名参数、属性、联合类型、匹配表达式、空安全操作符,甚至是即时编译器(JIT),让PHP 8成为了编程领域的重量级选手。

还有,调试过程也大大提升了,多亏了Xdebug。记得之前说的那个隐形的、着火的忍者吗?现在我们有了夜视镜和灭火器。多谢,Xdebug!

目前PHP发布了8.4版本,PHP8.4是史诗级的更新。

其中属性钩子(Property Hooks)可能是现代 PHP 历史上最大的变化之一,属性钩子提供对计算属性的支持,这些属性可以被 IDE 和静态分析工具直接理解,而无需编写可能会失效的 docblock 注释。此外,它们允许可靠地预处理或后处理值,而无需检查类中是否存在匹配的 getter 或 setter。

另外还有不使用括号的方法链、不对称可见性等等的更新。

PHP本地环境:提高效率

当PHP在自我提升的同时,我们用的工具也在进化——因为像任何活跃的生态系统一样,PHP周围也充满了不断的发展。2023年的开发者调查显示,有超过64.8%的PHP开发者定期使用框架。这超过了一半的PHP开发者对这些工具的信任!

那么,为什么这些框架这么火呢?来看看几个大玩家:

PHP框架的发展进一步增强了PHP的实用性,许多PHP开发者使用诸如MAMP、ServBay和XAMPP这样的本地Web环境。集成开发环境(IDE)能帮助PHP开发者在短时间内部署好开发环境,不仅大大缩短了开发时间,还提升了开发效率,使得开发者能把更多精力集中到技术开发工作中。这些集成开发环境(IDE)提升了PHP在帮助开发者快速、安全且可维护的代码开发方面的声誉,这使得选择一个合适的PHP IDE对开发者来说变得更加重要了。

为什么它们这么受欢迎呢?咱们来看看几个大玩家:

MAMP

MAMP是一个免费的本地服务器环境,可以通过几次点击在macOS和Windows下安装。它设计得尽可能灵活,允许开发者在他们偏好的环境中工作。它还非常易于使用,对于刚开始探索Web开发的新手来说是个极好的选择。

ServBay

ServBay是一个新的Web开发环境。它可以在短短3分钟内帮你安装PHP/Node.js的Web开发环境,无需依赖且不侵入式。它包括Web服务器、数据库、电子邮件、DNS和常用工具——你开发所需的一切。它迭代速度快,现在已经支持PHP 8.5-dev和Node.js 23,并引入了新的DNS服务器功能和域管理特性。

XAMPP

XAMPP是由Apache Friends开发的免费且开源的跨平台Web服务器解决方案包。这个包设计得非常易于安装和使用,是希望创建本地Web服务器进行测试和部署的开发者的理想选择。

这些工具的流行,不仅因为它们使PHP开发变得更加便捷,而且因为它们为开发者提供了一个稳定且功能丰富的本地开发环境,从而加快了开发的速度,降低了入门的门槛。

PHP今天:声誉、现实和未来的可能性

说到PHP的声誉,一直是起起伏伏。

从“编程界的笑柄”到成为“网络开发的黑马”,PHP的旅程堪比好莱坞励志片。记住,好莱坞喜欢救赎故事,编程界也一样。

那么,让我们消除一些误解:

误解#1:PHP已经过时。 慢着,朋友!PHP 8的推出证明它远未说再见。实际上,它才刚开始预热。PHP不仅仅是留下来的,而且它带着能与任何现代语言竞争的现代特性,展现出强大的力量。

误解#2:PHP很慢。 也许以前是,但现在?绝对不是。从PHP 7开始的速度提升简直惊人。基准测试显示PHP 8的执行速度比老版本快了三倍。所以,如果有人说PHP慢,让他们看看日历,我们已经不在2009年了!

误解#3:PHP不安全。 如果使用不当,任何语言都会不安全。采用PHP的现代最佳实践,包括使用可靠的框架,PHP可以和任何其他语言一样安全。别因为钉子歪了就怪锤子!

公平评价PHP的呼吁

PHP没那么差。

但也重要的是要认识到,它不再是过去那个容易成为笑柄和批评的PHP了。

多年来,PHP已经成熟。它从小角色成长为撑起近80%网络的大梁。它面对过去的批评,引入了能和其他现代编程语言一较高下的特性。

PHP,就像任何其他语言,都有它的特点和局限。但是,是时候把那些过时的笑话放一边了。下次你开始一个网页项目,别因为PHP过去的名声就把它排除在外。

但公道说回,PHP其实并不全是坏处。实际上,它远非如此。就像一个笨手笨脚的超级英雄,PHP也经历了成长的烦恼,但它已经进化、成熟,现在准备好向你展示它真正的实力了。

给PHP一个机会,基于它现在的优点来评估它,说不定你会发现自己成了PHP的粉丝。

正如PHP社区所说,这关于的是ElePHPants,不是房间里的大象。

所以,让我们庆祝这种语言的韧性,尽管遭到嘲笑,但它不断适应、改进,坚持使网络变得更好的使命。

毕竟,PHP没那么差,对吧?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值