Heim > Schlagzeilen > Hauptteil

回顾并展望2023年PHP的发展!

Freigeben: 2023-02-22 21:11:36
nach vorne
3214 人浏览过

8e6a1296dc485bb53cf50464d1f5d0a.jpg

导读:从 20 世纪 90 年代中期作为个人项目起步,PHP 已经发展成为最流行的 Web 开发语言之一,为从小型博客到大型企业应用程序的全部提供支持。

PHP 这个语言在近30年的时间里经历了惊人的迭代变化。在过去 10 年内,PHP 以我们无法想象的方式发生着变化。

每个新年我都会写一篇关于 PHP 现状的文章,回顾与展望未来。我们现在就开始!

PHP 基金会

以前,我通常以最新 PHP 版本的摘要开始写。但是,这次我想首先关注 PHP Foundation。

88df49c3d88077a5ca8a7c6f7998094.jpg

自从 PHP 基金会成立以来,已经一年多,它由一个 10 名志愿者加 6 名开发人员的团队组成,由 PHP 基金会支付报酬,从事 PHP 语言的开发工作。

在去年,我写了这段文字:

现在尼基塔(一位内核开发人员)已经离开,我有点担心。但他绝对不是唯一能够从事 PHP 核心工作的人,在过去的几年里,他在 PHP 8.0 和 8.1 方面做了大量工作。

我希望 PHP 基金会能够尽快跟上步伐,并且在明年有足够的核心开发人员有时间从事 PHP 方面的工作。

PHP 8.2已经在开发中,尽管还没有起草很多 RFC。

我认为 2022 年不会是 PHP 最令人兴奋的一年,而是增加稳定性的一年,这不会有错。

我认为,现在可以公平地说,PHP基金会已经正常运作了。他们最近发布了 2022 年报告,其中显示了一组相当可观的数字:

  • 2022年共募集 580,000 美元

  • 基金会将支付6 名开发人员在 PHP 内核上的工作

  • 基金会成员在 php-src 中完成了近乎一半的提交

  • 他们创建了8 个新的 RFC,其中只有一个没有成功

我认为PHP基金会是 PHP 发展过程发生的最好的事情之一。我希望他们能够在 2023 年进一步改进这门语言。如果你在一家使用 PHP 的公司工作,我强烈建议你们要考虑捐赠一些。

PHP 8.2

下面来聊聊使用 PHP 8.2。它通常被开发者认为是一个较小的版本,但它实际上具有许多不错的功能。

下面举几个例子:

只读类(ReadOnly):

readonly class PostData
{
public function __construct(
public string $title,
public string $author,
public string $body,
public DateTimeImmutable $createdAt,
public PostState $state,
    ) {}
}
Nach dem Login kopieren

全新的随机发生器:

$rng = $is_production
    ? new Random\Engine\Secure()
    : new Random\Engine\Mt19937(1234);
$randomizer = new Random\Randomizer($rng);
$randomizer->shuffleString('foobar');
Nach dem Login kopieren

独立于null的true和false:

function alwaysFalse(): false
{
    return false;
}
Nach dem Login kopieren

析取范式类型:

function generateSlug((HasTitle&HasId)|null $post)
{ /* … */ }
编辑参数:

function connect(
    string $user,
    #[\SensitiveParameter] string $password
) {
// …
}
Nach dem Login kopieren

当然,还有更多,值得你去探索。

考虑到这些年来 PHP 的发展有多么疯狂。我做了一些比较,下面清楚地显示了这些差异:

生态系统

就像每年一样,我应该提到Packagist,它是 PHP 的包管理器,到今年它列出了 361,000 个包,比去年增加了 60,000个:

7058a839edf7b7cf78cd47cc5413d88.jpg

最令人印象深刻的数字是安装总量。去年我提到过这个数额:

嗯,顺便说一句,最近 Packagist 通过了处理超过 500 亿次的安装里程碑。恭喜Packagist!

我刚刚查了一下,Packagist 现在的安装量是74,492,061,634 次。一年安装量增加了 240 亿,每月安装量增加 20 亿。综上所述:PHP 生态系统正在快速发展。

每年两次,我都会发布版本统计信息。在这些帖子中,我根据 Packagist 的数据分析了整个社区的 PHP 版本使用情况。

我想再次分享该帖子中的图表:2013 年到现在的时间线,显示每个版本的使用历史记录。

3a9c5b279ffacf6e92fc34745ebcdb3.jpg

虽然很高兴看到 PHP 8.* 的使用率急剧上升,但也有很大一部分人仍然停留在旧的、运行缓慢的与不安全的 PHP 版本上。我对 2023 年的希望是看到那些旧版本号下降得更快此。我在以上的版本统计帖子中是这样写的:

这些数据精美地形象化了 PHP 社区内部的分歧:一部分与现代 PHP 保持同步,而另一部分则无助地落在后面。

一说到升级,我就想特别提到一个工具:Rector。

Rector 是一款免费的自动化工具,可帮助升级你的 PHP 代码库。它所需要的只是少量的配置,它就会为你做大量的工作。

e87d1194d1ede8de0d89920cff7deda.jpg

我最近用它来更新我的社区驱动内容聚合器 Aggregate to PHP 8.2,它非常有趣且易于使用。

在发布我的版本统计帖子后,有几个人告诉我他们还没有更新,并且停留在 PHP 7.* 上,我问他们为什么?他们告诉我,这只是太多的体力劳动。有意思的是,甚至没有人尝试使用像 Rector 这样的工具来帮助他们……

我坚信“编程语言”不仅仅是编译器:它是在定义“编程语言”方面发挥同等作用的工具和生态系统,我真的认为很多人、项目和企业都会受益,如果他们研究使用像 Rector 这样的自动化工具。

既然我在谈论生态系统,就不能不提到 PHP 的两个最大的框架:Laravel和Symfony。

在过去的几年里,Laravel 取得了巨大的发展。他们现在雇佣了8 名全职开发人员来开发框架及其生态系统。最重要的是,JetBrains 的开发调查报告称,67% 的 PHP 开发人员使用 Laravel。

虽然如今与 Laravel 相比,Symfony 作为一个框架可能不太受欢迎,但它仍然是 PHP 社区中最成熟、最稳定的框架之一。它更常用于企业应用程序开发,但它的独立组件在整个 PHP 生态系统中都很流行——Laravel 也有一些对 Symfony 组件的依赖,所以不少 Symfony 软件包进入Packagist 的顶级软件包列表也就不足为奇了。

我还应该提到 WordPress。老实说,我对WordPress既爱又恨。作为用户,WordPress 很棒。它的安装和使用非常简单,我认为这些年来它赢得了每一点人气。不过,作为一名开发人员,WordPress 让我感到难过。无法与现代和安全的 PHP 版本保持同步,给整个 PHP 社区蒙上了阴影。

目前,WordPress 仅对PHP 8.0 提供 Beta 支持。现在,需要明确的是:PHP 8.0 于 2020 年发布,3年后的生命周期结束了——而 WordPress 目前尚不支持它……

当然,不能正确支持较新的 PHP 版本是有原因的,应该由用户决定它们是否正确。我个人的观点是,像 WordPress 一样坚持向后兼容的决定主要是业务驱动的:WordPress 的很大一部分是商业部分,并且他们的客户群的很大一部分运行旧的 PHP 版本。这是一个恶性循环,双方互相阻碍,并在一定程度上阻碍了整个 PHP 社区发展。

另一方面,我们应该认识到这样一个事实,即在将近 20 年后,没有多少软件项目能够像 WordPress 一样流行和相关,所以也许他们关于向后兼容性的策略是正确的?

超集

最后,我不能不提一下我对PHP的长期梦想。

我现在写下它,我希望有一天它会成为现实:PHP 的超集,具有适当的 IDE 与静态分析器支持功能。

我希望它出现的原因有很多。如果你愿意,你可以阅读和倾听它们,但我真的希望它能成为现实。在 2023 年看到一个被广泛接受和支持的超集尚待时日,但一些小步骤已经开始了。我肯定会密切关注PXP,它会把事情引向更正确的方向。

综上所述,我感觉各位开发者一定会喜欢 2023 年!最后一句,为防止万一你是新来的,我是 Brent,是JetBrains 的开发者布道师。

注:英文原文地址是:https://stitcher.io/blog/php-in-2023

Verwandte Etiketten:
php
Quelle:21CTO
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!