【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:113653
用户头像

发布了 368 篇内容, 共 170.3 次阅读, 收获喜欢 939 次。

关注

评论 2 条评论

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

ClickHouse数据表迁移实战之-remote方式 | 京东云技术团队

京东科技开发者

Clickhouse 数据迁移 Remote 迁移数据 企业号 6 月 PK 榜

2023-06-26:在大小为 n x n 的网格 grid 上,每个单元格都有一盏灯,最初灯都处于 关闭 状态 给你一个由灯的位置组成的二维数组 lamps 其中 lamps[i] = [rowi,

福大大架构师每日一题

Go 算法 rust 福大大架构师每日一题

Seamless Mobility in Wi-Fi Networks: Exploring the Benefits of Fast Roaming

wallyslilly

IPQ6010 ipq6018 ipq5018 FASTROAMING

堡垒机的作用以及价格简单说明-行云管家

行云管家

网络安全 堡垒机 IT运维

NFTScan | 06.19~06.25 NFT 市场热点汇总

NFT Research

热点 NFT\ 市场

从2PC和容错共识算法讨论zookeeper中的Create请求 | 京东云技术团队

京东科技开发者

zookeeper 分布式事务 zookeeper分布式锁 企业号 6 月 PK 榜 容错共识算法

使用 ProcessBuilder API 优化你的流程

快乐非自愿限量之名

数据库 框架开发 开发语言 process

h2database BTree 设计实现与查询优化思考 | 京东云技术团队

京东科技开发者

数据库 索引 B+tree 企业号 6 月 PK 榜 h2database

福昕软件与北信源达成战略合作,构建PDF文档安全新格局

新消费日报

这问题巧了,SpringMVC 不同参数处理机制引发的思考 | 京东云技术团队

京东科技开发者

spring springmvc HTTP 请求方式 企业号 6 月 PK 榜

基于 LRU-K 模型如何实现高效的元数据缓存?

焱融科技

#高性能 #文件存储 #分布式存储

百度召开CVPR首个大模型研讨会,吸引超1000支队伍参与文心大模型国际比赛

新消费日报

云游世界NFT卷轴游戏dapp系统开发合约定制

开发微hkkf5566

精选8道ES高频面试题和答案,后悔没早点看。

王中阳Go

elasticsearch 面试题 go面试题 后端面试题 ES面试题

数据库性能优化必读,AntDB-M数据库的哈希索引设计

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 6 月 PK 榜

inBuilder低代码平台特性推荐系列-第四期

inBuilder低代码平台

沈阳等级保护测评机构有哪些?有几家?在哪里?

行云管家

等保 等级保护 等保测评 沈阳

专场来袭,深度解读阿里云视频云的全智能进化

阿里云视频云

云计算 阿里云 视频云

教你学会使用Angular 应用里的 export declare const X Y

华为云开发者联盟

前端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

喜报:Apache Flink 荣获 2023 年度 SIGMOD 系统奖 !!!

Apache Flink

大数据 flink 实时计算

焱融构建多云数据存储平台 重塑云中数据活力

焱融科技

文件存储 高性能存储 #分布式文件存储

DataLeap的全链路智能监控报警实践(二):概念介绍

字节跳动数据平台

磐舟磐基平台:基于KubeEdge的落地实践

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

【直播预告】HarmonyOS极客松赋能直播第二期:数据库与网络连接开发

HarmonyOS开发者

HarmonyOS

前端文件上传的几种交互造轮子 | 京东云技术团队

京东科技开发者

前端 Vue3 文件上传 文件上传下载 企业号 6 月 PK 榜

Python Joblib库使用学习总结

EquatorCoco

Python

Hive执行计划之只有map阶段SQL性能分析和解读

不在线第一只蜗牛

sql 开发语言 开发框架

如何驯化机器狗读懂人类手势,手把手教你!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨

用代码玩转迷你图:手把手教你用编程语言打造简洁易读的数据图表!

不在线第一只蜗牛

代码 框架开发

6个常见的IB网络不通问题

华为云开发者联盟

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

JavaScript 实践+理论(总结篇):作用域、闭包、this、对象原型

控心つcrazy

闭包 原型链 作用域 this 原型模式

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