简介
当Rasmus Lerdorf在1995年首次向世界介绍个人主页工具(即我们所知的PHP)时,很少有人能预料到它会迅速崛起。在2010年代达到顶峰,PHP为世界上80%以上的网站提供支持,包括Facebook和维基百科等巨头。
然而,在过去的十年里,数字社区的喋喋不休越来越多地质疑PHP的相关性。2024年你还应该使用PHP吗?它是一个很好的编程语言为您的软件产品今天?
新的语言、范式和Web开发技术,从Rust的内存安全承诺到Node.js的事件驱动非阻塞I/O,重塑了软件开发领域的轮廓。
现在,在2024年,当我们站在另一个数字进化时代的风口浪尖上时,值得重新审视这一古老的争论。PHP和PHP开发人员的太阳终于落山了吗?还是这个弹性脚本语言仍然有一些锦囊妙计?
出于好奇,我决定尽可能多地了解这个话题。这让我深入到统计数据、基准测试和代码库中。阅读长的线程,评论和帖子。最后,与计算机科学专业的学生见面,并参观当地的PHP聚会。我发现了什么?PHP在2024年仍然重要吗?或者更像是点击诱饵-PHP在2024年死亡吗?我想想…
PHP当前统计
当我们谈论编程语言时,数字往往会讲述一个令人信服的故事。但是要真正理解现代PHP代码和编程语言的持续佐贺,我们不仅需要阅读冷酷的统计数据,还要了解它们背后的东西。
到2024年,有多少网站仍然由PHP提供支持?
如果你对PHP感兴趣,你可能听说过一个著名的统计数据,即PHP占整个互联网的80%。但时至今日,它的真实性如何呢?根据W3Techs的最新指标,到2024年,PHP仍然支持76.5%的网站,其中可以识别服务器端编程语言。这一数字在一年内下降不到1%(截至2023年为77.3%)。令人印象深刻?然而,孤立的数字可能会产生误导…
当我们仔细观察时,我们注意到PHP的主导地位,虽然仍然是正确的,但当涉及到更受欢迎的网站时,它会下降:
为什么?为什么?PHP的存在的很大一部分可以归因于CMS平台,如WordPress,Joomla和Drupal。仅WordPress就为超过43%的网络和大量的小型博客提供动力,很明显,PHP作为编程语言的遗产与这些平台的成功交织在一起。
JavaScript作为服务器端编程语言的作用越来越大,这可能要归功于无头内容管理系统和静态站点生成器等解决方案的日益普及。这两种趋势已经开始在内容创作市场上与WordPress等老牌企业竞争。
但这些最终会取代基于PHP的解决方案吗?这是可能的,但在我看来,这不会很快发生。
事实上,最近我不得不为我的业余旅行项目决定一个CMS解决方案。虽然在Website,我们大多使用基于JS的静态网站生成器来创建内容类型的网站,但我选择了. WordPress.为什么?为什么?因为当涉及到使用的简单性,易于安装,以及随时可用的模板和插件的可用性-它仍然很难与WP竞争。结果呢?我的页面在几个小时内就准备好了。
基于PHP的网站通常不需要一个熟练的PHP开发人员来构建。但是这种语言可以用于更复杂的软件,而不仅仅是静态页面。在2024年,你可能会考虑选择PHP作为SaaS或其他数字产品的主要Web编程语言。想知道这是否是一个好主意?让我们从更广泛的角度来看看PHP开发。
到2024年,有多少开发人员在使用PHP?
根据JetBrains的调查,在过去的7年中,20-30%的开发人员使用过PHP语言。多吗?- 是吗?是的不知道吗?也许是吧?与JavaScript实现的60-70%或Python实现的50%相比,这似乎是一个相对较小的数字。然而,您应该记住,PHP从来就不应该是一种适合所有语言的解决方案。
虽然JavaScript现在几乎可以在任何地方使用,但PHP仍然是Web开发的后端编程语言。它不应该在前端或数据科学(如Python)或其他领域与其他语言竞争。当今的软件工程有许多不同的风格,并为生活和商业的许多不同领域提供动力。
Google趋势显示,在过去的7年中,JavaScript开发确实增加了它的受欢迎程度。但与此同时,趋势并没有显示PHP开发意义的任何重大下降。软件工程在总体上变得越来越重要。同样的工具(谷歌趋势)显示,软件开发作为搜索词在前面提到的时期几乎翻了一番。其中大部分是全新的IT领域,如机器学习、大数据、区块链或生成式人工智能和大型语言模型。当PHP被创建时,其中一些甚至还没有被发现,并且肯定远远不是全世界开发人员的热门话题。
那么,从这个角度来看,PHP在2024年仍然有意义吗?我想说,这20-30%看起来像是软件开发生态系统的一个体面的份额,PHP仍然是一个非常重要的球员。它是为后端Web开发而设计的-这就是它蓬勃发展的地方。
事实上,我甚至会说这是一个相当令人印象深刻的结果,考虑到语言本身在市场上已经有近30年的时间了。而且,这不仅仅是一个统计数据-这是一个肯定。它说明了PHP的长寿和适应性,在许多其他技术已经变得默默无闻的地方经久不衰。到2025年,PHP将迎来30岁,只有一个伟大的工具才能在如此充满活力的市场中生存,并保持其稳固的地位。
2024年PHP社区有多大(以及有多活跃)?
虽然来自GitHub等平台的统计数据显示,在过去的一年里,PHP核心有超过500个贡献者,但真正值得注意的是这些贡献的性质。它们不仅仅是错误修复或小补丁-许多是有远见的增强,推动PHP进入PHP开发人员的现代Web开发时代。
PHP RFC(请求注释)过程为我们提供了一个了解这一不断发展的愿景的窗口。JIT编译有可能极大地提高PHP的性能,使其与传统的更快的编程语言竞争。
PHP的持久力量不仅仅在于它的特性,还在于它的专用社区。一种语言的力量来自于它的积极支持者。活跃的讨论、许多开源项目和持续的创新使PHP不仅保持在游戏中,而且经常领导它。
什么让PHP存活?
遗产效应
像Facebook、Slack和Wikipedia这样的大型企业都深深植根于PHP。即使他们已经多样化了他们的技术堆栈,PHP仍然是他们基础设施中不可或缺的一部分。将PHP视为解决问题的大型结构中的基石:即使出现新的材料和设计,基石仍然对建筑的稳定性至关重要。
acebook的HHVM(HipHop Virtual Machine),一个最初为PHP设计的JIT编译器,代表了这个想法。虽然Facebook现在已经将其主要关注点从PHP代码转移到Hack for HHVM,但这一合资企业强调了PHP对他们的增长是多么不可或缺,以及企业如何能够围绕一种语言进行创新。
CMS优势
讨论PHP而不承认它与主流内容管理系统的不可分割的联系是很有挑战性的。WordPress,Joomla和Drupal -他们对PHP的意义就像三大汽车制造商对底特律一样。整体性、标志性和基础性。
WordPress占据了全球CMS网络市场的65.1%,而Joomla和Drupal占据了相当大的份额。这些CMS系统充当了PHP的拥护者,确保PHP不仅在使用中,而且在主导地位。这不仅仅是数字;这些平台本身就是社区,促进插件开发和主题。
WordPress 20岁了,生日快乐!有人可能会说,它不是成为一个成年人,而是已经成为一个老人了,但这并不完全正确。通过定期升级,每隔几年发布一次主要版本和打包的路线图……离退休还远着呢
不断进化而不革命
仅仅将PHP称为“老”语言是一种伤害。随着PHP 8及其后续迭代的发布,该语言已经证明了其与当代需求保持同步的承诺。JIT编译器的引入证明了PHP对性能的追求,有可能与传统的“更快”的语言相媲美。
此外,PHP 8中的联合类型、命名参数和属性等特性与现代编程范式保持了清晰的一致性,为开发人员提供了更简洁和更具表现力的语法。
当然,许多语言已经具有这些功能。你可能会说这没有什么新的,但这是PHP的优点之一!PHP是您可以为Web产品选择的最稳定和最可预测的技术之一。
现代Web开发被认为是一个非常快节奏和不断变化的环境。每天都有新的工具出现和消失。每隔几个月就会有新版本的框架发布–特别是在JavaScript世界。这意味着您必须不断升级您的技术堆栈,以使其与仍在维护的版本保持同步。
另一方面,我们有PHP在30年内只有7个主要版本!虽然作为一种编程语言正在积极开发,但它并没有引入任何革命。它不断发展,逐渐适应在其他编程语言中被证明工作良好的东西。稳定性和易于保持最新是PHP及其框架的巨大优势。只需提到Symfony框架-提供长期支持(LTS)版本,3年的维护和4年的安全修复!
缺乏更好的选择?
我知道这是一个非常值得讨论的话题。因为许多流行的编程语言在许多领域都可以轻松地与PHP竞争。但是当涉及到后端Web开发时,我仍然没有看到任何PHP杀手。有些可以竞争,但在许多情况下,他们不会是一个更好的选择。
Python?相当不错的框架和包,但比最近的PHP版本慢3倍。爪哇?更高的入门门槛,通常开发和维护成本更高-适合大型企业或银行应用程序。JavaScript?对于前端来说很好,但是它的后端堆栈仍然不发达,其最小化的框架通常只提供基本的功能集。
JavaScript经常被认为是PHP在后端Web开发中的最佳替代品。我同意,但这对我来说仍然是一个选择,而不是一个主要的选择。将JavaScript视为一种通用语言,有一天会取代Web开发中的其他语言,这是很诱人的。你只是雇佣JS开发人员,你可以让他们编写前端和后端,听起来像一个伟大的解决方案?有时候吧但到目前为止,我只听说过这种方法的失败故事。后端和前端开发人员需要不同的技能和知识-语言是次要的。
PHP面临的挑战
PHP在Web开发中占有一席之地,但它面临着新的挑战。随着性能期望的提高以及技术和开发人员品味的变化,前面的道路是坚韧的。让我们来探讨这些当前的挑战以及它们对PHP的未来意味着什么。
性能问题
今天,速度至关重要。像Go和Rust这样的语言设定了高性能标准,Go擅长处理多个任务,Rust在内存使用方面非常高效。
PHP8 提高了速度,但当涉及到数据处理等任务时,Go和Rust可以更快。然而,PHP仍然非常适合与Web相关的任务,特别是当与现代服务器和缓存相结合时。这使得PHP开发人员更容易完成他们的工作。
新兴技术
技术总是在变化,无服务器、容器化(如Docker)和微服务等趋势变得越来越普遍。看看PHP在其中的位置是很重要的。
无服务器技术,根据Web请求自动调整,看到像JavaScript这样的语言引领潮流。PHP仍在努力适应这一趋势,尽管像Bref这样的平台正在帮助。
PHP与容器和微服务配合良好。使用Docker,PHP应用程序可以轻松打包,PHP微服务可以很好地适应大型系统。然而,一些为这些趋势设计的新语言在未来可能会更有效。
开发者Mindshare
Web开发人员经常被最新的技术所吸引。随着教育计划强调新的趋势,对PHP的兴趣慢慢减少。像Stack Overflow这样的网站展示了更多关于Python、Rust和Go等语言的问题,这表明开发人员正在转向更新的工具。
然而,重要的是要将趋势与现实世界的需求分开。虽然像Python这样的语言很受欢迎,但拥有许多CMS平台和大型系统的大型PHP生态系统意味着PHP技能在工作中仍然需求很高。
当我还是一个学生的时候,软件工程就是关于Java,C++或… PHP for web.从那时起,出现了许多新的IT和软件领域。如今,学习PHP不再被视为少数几条主要途径之一。这只是众多职业中的一个,也许不是最时髦的一个,但在就业市场上仍然需要。
在大流行导致的大幅下降之后,PHP聚会和会议的出席率正在恢复到新冠肺炎前的水平。有时候,免费的比萨饼比PHP开发人员还多,但活跃的社区幸存了下来,并再次开会分享知识,一起学习PHP。然而,我必须承认,参加这些会议的PHP开发人员的平均年龄确实增加了。
遗留代码
近30年的PHP开发是一个巨大的遗产。但也是一种负面影响。在那个时期至少有几次创业热潮之后,许多软件产品被构建出来并在市场上存活至今。并不是所有这些都定期升级和重构。不幸的是,这导致了PHP项目中技术债务的积累和所谓的遗留代码。
这可能会给给予PHP一个糟糕的公关,因为许多想到PHP的开发人员会立即看到成堆的遗留、过时的代码。这不是开发商最喜欢处理的问题。但这并不意味着PHP代码库必须是旧的,充满了未付的技术债务。它和其他语言一样,所有好的开发实践都可以(也应该!)在PHP中应用(如SOLID原则)。
我可能知道一两件事,因为在这里,我们专注于PHP现代化。因此,如果您的基于PHP的软件产品可能需要一些提升,请随时联系我。
PHP在2024年的Web开发前景
随着网络的不断发展,PHP的相关性也发生了有趣的变化。PHP不仅仅是一种语言,它的生态系统由强大的框架和创新的模式支持,在Web开发画布上描绘了一幅生动的画面。但这如何适应当前的网络环境呢?
框架:PHP发展的先锋
不可否认,PHP的持续相关性在很大程度上归功于其强大的框架。它们集中体现了语言的适应性,并在不断发展的技术领域中推动其叙事。
比如Laravel。Laravel富有表现力的语法,结合ORM(Eloquent),强大的队列系统和内置的安全措施等功能,使其成为开发人员的宠儿。最近采用的Swoole和RoadRunner引擎,允许高性能的异步任务处理,是其致力于发展的证明。
Symfony是PHP框架生态系统中的另一个庞然大物,它仍然是Drupal等平台的支柱。它的模块化组件系统和Symfony Flex方法确保开发人员可以自由地无缝构建微型和单片应用程序。
到2025年,Symfony将满20岁,如果二十年前你决定在Symfony上构建你的产品,今天它仍然可以不断发展和改进。在我看来,这是一个强大而稳定的技术的标志。更不用说每个LTS版本都有4年的安全更新!
这些框架不仅仅是对时代的回应–他们经常设定步伐,将PHP推向以前未知的领域,并确保它不会落后。
CMS和API驱动开发
内容管理的分离或“无头”方法越来越受欢迎。在这里,内容管理后端与前端分离,允许通过API进行更灵活的内容交付。PHP在CMS世界中有着深厚的根基,在这个领域有着有趣的旅程。
像Drupal这样的平台已经接受了无头方法,提供了强大的API层,可以与React或Vue.js等现代前端技术无缝集成。同样,WordPress通过其REST API提供了无头体验,证明老狗确实有一些新的技巧。
API驱动开发的这些进步不仅强调了PHP的适应性,而且还巩固了它在日益解耦和模块化的Web中的地位。
JavaScript生态系统
JavaScript,特别是通过Node.js,增长迅速。Next.js等框架为各种Web任务提供了全面的解决方案。那么,PHP在这个JS主导的环境中处于什么位置呢?合作比竞争更重要。像无头WordPress和Drupal这样的工具可以让开发人员将联合收割机PHP的内容管理与现代JS前端结合起来。使用PHP,我们还可以获得像Laravel Livewire这样的混合解决方案,将服务器端的力量与客户端的响应能力相结合。尽管JavaScript被广泛使用,特别是在前期,PHP已经适应了它。
仍然使PHP相关的优势
在技术快速变化的时代,令人印象深刻的是,PHP,近30岁,仍然流行。尽管有新兴的语言和工具,但PHP具有独特的优势,使其成为Web开发的核心。
易于部署:复杂世界中的简单性
在部署管道有时会非常复杂的时候,PHP会回顾更简单的时代。无需复杂的容器编排或复杂的CI/CD设置。通常,这就像上传文件到服务器一样简单,瞧,你的网站是活的!
<?php
echo “Hello, World!”;
把上面的内容放到一个index.php文件中,上传,你的消息就会传遍世界。这种通常被认为是理所当然的简单性可以是一股新鲜空气,特别是对于那些希望将他们的想法带到网上而不深入研究现代部署策略的复杂性的人来说。
这并不意味着在2024年,我建议跳过所有CI/CD的东西,坚持FTP部署。好久没见了但还是可以的,进入门槛低。因此,如果你需要一个非常基本的PHP脚本来在线运行,只需编写它并将其上传到一个Web托管提供商。PHP可以这么简单-没有transplers,任务运行器或orchestership。但它可以与现代方法和现代语言一起使用。
强大的标准库:PHP的瑞士军刀
多年来,PHP已经积累了一个令人印象深刻的标准库,充满了涵盖大量功能的函数和扩展。从操作数组和字符串到处理日期、图像,甚至与数据库通信,PHP的内置工具集既全面又健壮。
拥有这样一个通用工具包的便利性意味着开发人员可以立即提高生产力,而无需不断需要第三方库或工具。
学习曲线:PHP的温和上升
尽管它的年龄和有时恶意的怪癖,PHP仍然是一个优秀的入门为萌芽开发人员。它的语法是宽容的,它的错误(大多数)是可以理解的,并且编写代码并看到即时结果的即时反馈循环对于那些迈出编程第一步的人来说是非常宝贵的。
类似PHP的资源:正确的方式和广泛的官方文档进一步平滑这个学习之旅,提供指导和最佳实践。在一个技术堆栈可以令人生畏地庞大的时代,PHP的温和的学习曲线仍然是其持续相关性的令人信服的原因。
无聊是好事!
在现代Web开发的旋风中,工具在一夜之间出现和消失,框架经常更新,PHP可以被视为一个平静的存在。30年来只有7个主要版本,PHP在混乱中成为稳定的灯塔。
PHP并没有追求革命,而是稳步发展,并结合了其他语言的成熟实践。它的框架,如Symfony,提供扩展支持,确保多年的维护和安全修复。所以,当其他人争先恐后地跟上时,有时,无聊正是你所需要的。特别是对于SaaS或任何其他Web应用程序的后端。
我们为软件产品开发和现代化提供全栈解决方案。我们已经做了14年多,从这个角度来看,我可以肯定,这种“无聊”正是许多软件产品所需要的。保持基于JavaScript的前端最新可能是一个持续的斗争。新版本每隔几个月就会发布一次,库和包都会贬值,并且没有提供替代品。哈!与此相反,我们在基于PHP的后端开发方面从未遇到过任何严重的问题。
给予你们两个案例。从SaaS应用程序中删除旧的AngularJS需要多长时间?六年!升级和重构类似复杂性的SaaS产品的整个PHP后端又如何呢?两年而已。快了三倍!
成熟的框架
已经提到过几次了,但这里也值得强调一下。PHP有辉煌和成熟的框架,如Symfony和Laravel。拥有庞大的功能集,可预测和积极的开发过程以及出色的路线图。非常稳定,安全,可靠。在长期的官方和社区支持下。允许巨大的开发速度和体面的开发成本。现代Web开发的完美选择。不仅适用于网站或初创公司,也适用于严肃的企业级应用程序。
所以… PHP在2024年仍然重要吗?
技术世界总是在变化。有太多的新技术和框架在兴起和衰落,创造了无休止的炒作周期–有些人甚至可能不知道PHP,我最近甚至听到一个计算机科学专业的学生说:“PHP?“我从来没有听说过它,它应该是最近才出现的。但是,在这些变化中,PHP一直是一个常数,就像一棵老树在新芽中。这是对Web开发过去的认可,同时也是其未来的一部分。PHP现在在哪里?
称PHP过时是一种过度简单化的说法,说它是一种死亡的语言是错误的。
当然,PHP不再是开发人员和计算机科学专业学生的首选。它并不时髦,它与人工智能、大数据、数据挖掘、区块链或ChatGPT无关。然而,到2024年,它仍然是最受欢迎的Web开发编程语言之一。它是为特定目的而创建的,30年后,它仍然很好地为网站和Web应用程序提供支持。它持续为80%的“网络”提供动力,从更广泛的角度来看,仍然被20%的开发人员使用。
它在托管中的广泛使用,易于部署,丰富的功能,伟大的框架和初学者友好的方法使它持久。这些不仅仅是过去的成就,也是许多人依赖的当前优势。此外,在过去的30年里,PHP已经成长,成熟,不仅是网站,甚至是企业解决方案的良好解决方案。PHP从一个基本的在线工具到一个支持大型平台的强大语言的转变显示了它的适应性。随着不断的更新,如PHP 8,很明显PHP并没有放慢速度。
技术不仅仅是新的;它是关于解决问题的。PHP可能不是最新的,但只要它满足需求,它在Web开发和PHP社区中就有一个安全的位置。许多项目很久以前就用PHP构建了,这是不容易改变的,坦率地说,有时候使用PHP是最好的解决方案,这已经充分说明了PHP的状态。
虽然我们应该欢迎新的技术创新,但我们不应该忘记PHP的持久影响和适应性。其悠久的历史证明了其灵活性,社区支持以及在不断发展的行业中的持续相关性。
有一件事我可以肯定地说:如果你的应用程序是用PHP写的-没有理由担心它的技术发展的未来。有很多很好的理由可以让人们决定在PHP上构建一个新项目。如果您正在寻找重构、维护或创建项目的人-请不要犹豫与我们联系,您很难找到在这方面更有经验的人。