PHP在2023

PHP 在 2023 - stitcher.ioicon-default.png?t=N2N8https://stitcher.io/blog/php-in-2023原文地址

从 90 年代中期作为个人项目的卑微开始,PHP 已发展成为最受欢迎的 Web 开发语言之一,为从小型博客到大型企业应用程序的所有内容提供支持。

这种语言在近三十年的时间里发生了惊人的转变。即使在过去的 10 年里,PHP 也以我们无法想象的方式发生了变化。

每年,我都会写一篇关于PHP现状的文章,回顾和展望。让我们开始吧!

 

#PHP 基金会

我通常以最新PHP版本的摘要开始这些文章,但这次我想先关注PHP基金会。自基金会成立以来已经有一年多了:一个由10名志愿者和6名开发人员组成的集体被付钱从事PHP,这种语言。

去年,我写了这样:

我现在有点担心尼基塔已经下台了。他绝对不是唯一一个能够开发PHP核心的人,但是在过去的几年里,他在PHP 8.0和8.1上做了大量的工作。我希望PHP基金会能尽快跟上进度,并且明年有足够多的核心开发人员有时间从事PHP工作。PHP 8.2 已经在开发中,尽管还没有很多 RFC 起草。

我不认为 2022 年将是 PHP 最令人兴奋的一年,而是增加稳定性的一年。这没什么不对。

我认为可以公平地说,基金会已经做到了。他们最近发布了 2022 年的报告,其中显示了一些令人印象深刻的数字:

  • 580 年总共筹集了 000,2022 美元
  • 基金会支付 6 名开发人员从事 PHP 工作
  • 基金会成员在 php-src 中完成了几乎一半的提交
  • 他们创建了 8 个新的 RFC,其中只有一个 RFC 没有成功。

我认为基金会是 PHP 长期以来最好的事情之一,我希望他们能够在 2023 年进一步改进语言。如果你在一家使用PHP的公司工作,我强烈建议你考虑捐赠

#菲律宾比索 8.2

Moving on to PHP 8.2. It's generally regarded as a smaller release, but nevertheless it has a bunch of nice features. Just to name a couple:

Readonly classes:

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

A brand new randomizer:

$rng = $is_production
    ? new Random\Engine\Secure()
    : new Random\Engine\Mt19937(1234);
 
$randomizer = new Random\Randomizer($rng);

$randomizer->shuffleString('foobar');

Standalone , and :nulltruefalse

function alwaysFalse(): false
{
    return false;
}

Disjunctive normal form types:

function generateSlug((HasTitle&HasId)|null $post) 
{ /* … */ }

Redacted parameters:

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

And more.

It's kind of crazy to realise how much PHP has evolved over the years. I made a little video comparison that clearly shows the difference:

#The ecosystem

Just like every year, I should mention Packagist, PHP's package manager: it now lists 361,000 packages; 60,000 more than last year:

One impressive number is the total amount of installations. Last year I mentioned this:

Oh, by the way, just recently Packagist passed the milestone of having handled over more than 50 billion installs. Congrats Packagist!

I just checked, and we're now at 74,492,061,634 installs. That's an increase of 24 billion installs in one year, 2 billion installs per month. All of that to say: the PHP ecosystem is growing a lot.


Twice a year, I publish my version stats post. In these posts, I analyze PHP version usage across the community based on Packagist's data. I wanted to share a graph from that post again: the timeline between 2013 and now, showing the per-version usage history.

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

这些数据完美地可视化了PHP社区内部的分裂:一部分跟上了现代PHP,而另一部分则无助地落后。

说到升级,我想特别提到一个工具:校长。Rector 是一个免费的自动化工具,可帮助您升级 PHP 代码库。只需要少量的配置,它就会为你做大量的工作。

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

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

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


既然我说的是生态系统,我就不能不提到PHP的两个最大的框架:LaravelSymfony

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

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

我还应该提到WordPress。老实说,我和它有一种爱恨交织的关系。作为用户,WordPress很棒。它非常易于安装和使用,我认为它多年来赢得了它的普及。 作为一名开发人员,WordPress让我很难过。无法与现代和安全的PHP版本保持同步,给整个PHP社区蒙上了阴影。

目前,WordPress仅对PHP 8.0提供beta支持。现在,需要明确的是:PHP 8.0 于 2020 年发布,三年后现已结束生命周期——WordPress 还不支持它......

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

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

#超集

最后,我不禁提到我对PHP的长期梦想。我它,我谈论它,我希望有一天它会成为现实:PHP的超集,具有适当的IDE和静态分析器支持。

我希望它发生的原因有很多,如果你愿意,你可以阅读和听到它们;但我真的希望它能成为现实。我怀疑我们是否会在 2023 年看到一个被广泛接受和支持的超集,但已经采取了一些小步骤。我肯定会密切关注 PXP,它可能会使事情朝着正确的方向发展。


话虽如此,我希望你会喜欢 2023 年!以防万一你是新来的:我是 Brent,JetBrains 的开发者倡导者,我写关于 PHP 的文章和视频博客;如果您查看我最近一直在工作的 YouTube 频道,我将不胜感激。看看,也许考虑订阅?谢谢!

如果您不喜欢视频但仍想关注我,您可以加入 15k 时事通讯订阅者,我希望在那里见到您!

猜你喜欢

转载自blog.csdn.net/shaozheng0503/article/details/129779232
php