写点什么

PHP 已死?

  • 2019-09-29
  • 本文字数:1935 字

    阅读完需:约 6 分钟

PHP已死?

本文最初发布 Daan 的 Medium 博客,经原作者 Daan 授权,InfoQ 中文站翻译并发布。


PHP 诞生已经 25 年了。从 1995 年开始到如今,它已经成为 Web 开发中最流行的服务端脚本语言之一。但似乎从 2001 年起,网上就有言论称“PHP 已死”。但是,PHP 真的已经死了吗?它还有未来吗?总之,一言以蔽之,PHP 在可见的未来,PHP 仍然有市场。



PHP 确实有过辉煌的时代,这一点毋庸置疑。但它真的死了吗?


在 StackOverflow 这样的论坛上,“PHP 已死”的言论甚嚣尘上。他们是否有正确的观点呢?或者他们只是不喜欢 PHP?


让我们来看看 PHP,看看这门编程语言是否还有未来。

PHP 仍然主宰 Web 开发

如果你只是简单地看一下数字,得出的结论肯定是:PHP 并没有死去。PHP 是迄今为止使用最多的服务器端脚本语言。互联网上大约 75% 的网页是由 PHP 开发的。


看看下面的图表,就使用频率而言,PHP 在竞争中领先了多少。基于这个统计数据,我们可以公平地得出这样的结论:PHP 并没有死亡,因为对于一门死亡的语言来说,75% 的数字是不是太高了?



来源:w3techs.com


之所以有那么多网站使用 PHP 的原因之一是因为 WordPress 使用了 PHP。WordPress 的市场份额约占所有网站的 34%。也就是说,有 7500 万家网站在使用 WordPress。


此外,还有一些其他 CMS,如 Drupal(3%),Joomla(2%),它们也占有相当大的市场份额。还有一些流行的商店管理系统,如 Shopify,占有市场份额的 1% 左右。


很多大型内容和商店管理系统都使用 PHP,这使得 PHP 变得更重要。

从零开始建设网站

我能理解关于从零开始建设网站的争论,因为有很多人,比如使用 WordPress 的那些人,并不知道如何编写代码。使用 WordPress 创建网站并不需要你知道如何编写代码。很多拥有 WordPress 网站的人们可能甚至都不知道它是用 PHP 开发的。那么,那些从零开始建设的网站还在用 PHP 吗?


PHP 过去曾经是,现在仍然也是一门非常流行的语言。原因之一是它是一门非常容易学习的编程语言。这使得它成为一门对建设网站新手很友好的优秀语言。


PHP 可以在没有任何先验知识的背景下进行学习。我认为可以公平地说,大多数 Web 开发人员可能都是从 PHP 开始的,或者至少在某个时候曾经使用过 PHP。

程序编制

自从 1994 年 PHP 问世以来,随着时间的推移,这门语言变得有点杂乱起来。有很多方法可以构建相同的功能,而且其中很多方法都相当变态。如此一来,人们就更容易写出糟糕的 PHP 代码。


显然,用任何语言编写糟糕的代码都是有可能的,但由于 PHP 的发展方式,用 PHP 写出糟糕的代码更容易些。


PHP 自问世以来,过了 25 年,它一样有着很多老旧的东西。这使得 PHP 上手很容易,但如果你要坚持使用陈旧的解决方案,那么你最终将得到的是不符合最佳实践的次优代码。这是你应该尽量避免的情况。


当你缺乏 PHP 经验时,可能会出现不遵循最佳实践的情况,因为你并不总是清楚什么是最佳解决方案。这是因为有很多方法可以解决同样的问题。这也是一些开发者讨厌 PHP 的原因之一。


另一方面,你也许会争辩说,大多数 Web 开发人员并不会去编写那种原始的 PHP 代码。大多数情况下,你将使用某种框架,这种框架能做很多事情。一种非常干净的流行 PHP 框架是 Laravel。使用框架的好处是,许多繁琐的工作都是在幕后完成的。使用这种框架,能迫使你编写更为干净的代码。

PHP 7

自 PHP 7 发布以来,已经引入了许多新的特性和改进。两个最重要的改进:速度更快,内存的利用更好。这意味着在网站加载速度方面,使用 PHP 7 要比旧版 PHP 更快,并且可以同时处理更多的用户请求。


在代码方面,PHP 7 引入了类型声明和新的运算符。错误处理也得到了改进。

工作

由于 75% 的网站是用 PHP 开发的,因此显然会有很多工作涉及到某种 PHP 编码。所有这些网站都需要维护,这就需要 PHP 开发人员。PHP 的巨大市场份额不会在一夜之间消失,所以涉及到 PHP 的工作在未来一段时间还会随处可见。


如果你查看 StackOverflow 的招聘页面, 你就会发现有很多职位需要 与 PHP 相关。

结论

关于 PHP 的未来,尽管有很多讨论,但是很明显,PHP 确实有未来。到目前为止,PHP 是网站上用得最多的编程语言。


PHP 已经存在一段时间了,这在代码中有所反映。有很多老旧的东西,这意味着最佳解决方案并不总是明晰的。在代码方面,你可以使用一个框架,它为你完成许多繁琐的工作,并迫使你编写更为干净清晰的代码。然而,自发布 PHP 7 以来,有很多方面都得到了改进。


如果你想以 PHP 开发人员的身份开始职业生涯,当你找到工作的时候,你不会走投无路。有很多工作都需要 PHP 技能,这一点在可见的未来将会保持不变。


那么,你对 PHP 是什么看法呢?你认为这门编程语言还有未来吗?还是它已经死亡了呢?


作者介绍:


Daan,来自荷兰,后端开发人员,也是一位密码学爱好者。


原文链接:


The Future of PHP


2019-09-29 15:113811
用户头像

发布了 375 篇内容, 共 190.7 次阅读, 收获喜欢 946 次。

关注

评论 2 条评论

发布
用户头像
PHP辉煌过。
2020-01-06 20:14
回复
用户头像
我想知道这个最佳实践哪里了解到?
2019-10-02 13:13
回复
没有更多了
发现更多内容

PostgreSQL插件那么多,怎样管理最高效?

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

震撼!阿里架构师全新产出Java面试突击宝典。我觉得泰库辣!

Java你猿哥

Java redis spring Spring Boot JVM

用纯python写web app:Streamlit

AIWeker

Python python小知识 三周年连更

SaaS 软件的 SLA 和 Escalation

汪子熙

SaaS Cloud 三周年连更

百度APP iOS端包体积50M优化实践(二) 图片优化

百度Geek说

ios 开发语言 企业号 4 月 PK 榜

Docker不香了?只能说阿里这套K8S手册更香

做梦都在改BUG

Java Kubernetes k8s

多位P8大牛联袂推出:国内最牛的Java面试八股,不接受反驳

Java你猿哥

Java 面试 ssm 面经 八股文

带你了解关于FastAPI快速开发Web API项目中的模板和Jinja

华为云开发者联盟

微服务 前端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

华为ISDP数字化现场作业亮相第十七届工程建设行业信息化发展大会

平平无奇爱好科技

【Python实战】Python采集皮肤图片数据

BROKEN

三周年连更

融云 CTO 岑裕:出海技术前沿探索和排「坑」实践

融云 RongCloud

运维 网络 融云 泛娱乐 出海

C4D渲染器到底该怎么选?

Finovy Cloud

C4D

校园共享电单车是否值得投放

共享电单车厂家

共享电动车厂家 共享电单车投放 校园共享电动车 本铯共享电动车

让GitHub低头认错的这份阿里内部绝密Java面试八股文手册有多强?

Java你猿哥

Java 面试 ssm 面经 八股文

卧薪尝胆30天!啃透京东大牛的高并发设计进阶手册,终获P7意向书

做梦都在改BUG

Java 系统设计 高并发

强强联合,ByteHouse携手亚马逊云科技,新一代云数仓服务重磅升级

字节跳动数据平台

数据仓库 云原生 Clickhouse 企业号 4 月 PK 榜

华为亮相KubeCon EU 2023 新云原生开源项目Kuasar推动“云上演进”

华为云开发者联盟

开源 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

分布式多级缓存系统设计与实战

做梦都在改BUG

分布式 系统设计 多级缓存

泰库辣!京东首席架构师:亿级流量网站架构核心技术,肝完薪资飙升

Java你猿哥

架构 高可用 ssm 高并发 架构设计

数仓实践丨主动预防-DWS关键工具安装确认

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

路由器、网桥和交换机

测吧(北京)科技有限公司

测试

华为ISDP亮相长沙电力行业信息化年会,分享数字化转型实践与技术创新

平平无奇爱好科技

Ts中string、number和any等类型 不能当做索引用,怎么处理?

肥晨

三周年连更

Josh × 微帧科技,为印度TOP短视频平台提供视频编码服务

微帧Visionular

音视频 视频编码 音视频技术

软件测试/测试开发丨Pytest 自动化测试框架(五)

测试人

软件测试 自动化测试 测试开发 pytest alure

今天一定要搞清楚Spring事务

做梦都在改BUG

Java spring Spring事务

使用 IDEA 远程 Debug 调试(一篇懂所有)

Java你猿哥

Java Spring Boot ssm IDEA

如果不知道这4种缓存模式,敢说懂缓存吗?

Java你猿哥

缓存 架构 ssm 架构设计 cache

ShareSDK 微信平台注册指南

MobTech袤博科技

Java 应用程序在 Kubernetes 上棘手的内存管理

做梦都在改BUG

Java Kubernetes JVM 内存管理

深入探索数据库MySQL,性能优化与复杂查询相关操作

做梦都在改BUG

Java MySQL 数据库 性能优化

PHP已死?_语言 & 开发_Daan_InfoQ精选文章