每年一次,我回顾PHP世界中的最新发展,并期待未来的发展。就像2020年和2019年一样,我们又来了!
就像我一次又一次地说:PHP与十年前的语言不一样,对此我们非常感谢。这是一种快速可靠的语言,用于大规模构建大型应用程序。因此,让我们讨论一下去年PHP对语言和社区的一些最显着变化。
PHP 8及更高版本
新的主要版本PHP 8于去年年底推出。我在该主题上写了很多文章,在这里我不会复制/粘贴所有内容。与往常一样,性能仅在提高,如Kinsta所做的基准测试所示。
还有一个JIT确实可以改善某些项目的性能,而且如果您不使用共享主机,则预加载会对整体项目产生积极的影响。
我认为诸如属性(也称为“注释”),命名参数和提升的属性之类的功能也值得一提,因为它们无疑对PHP 8如此出色的发布做出了贡献。
同时,核心团队已经在开发新版本的PHP 8.1,该版本将于2021年底发布。目前,最重要的功能是枚举和纤维,我将在本文稍后再次提及它们。邮政。
年复一年,核心团队成功地为社区带来了一个新的稳定版本,其中包含许多功能和生活质量的改进。升级路径也不再那么困难了。我将自己的一些项目从PHP 7.4升级到PHP 8,每个项目只花了一个小时左右的时间。确实没有任何理由留在后面!
PHP的类型系统
关于类型,实际上确实有一些非常令人振奋的消息:枚举将在PHP 8.1中添加。最重要的是,我们还看到一些静态分析工具的维护者通过登陆第一个RFC为PHP的源代码做出了贡献。这增加了never类型,这对于静态分析是有用的。
说到静态分析工具,PhpStorm增加了对Psalm和PhpStan的内置支持,这是迈向更广泛适应的重要一步。
不幸的是,仍然没有对仿制药的支持。有一些主要的路障,特别是因为我们仍在处理动态类型的语言。尼基塔在这里概述了这些问题。就我个人而言,我的方法将是简单的方法:仅支持运行时擦除的泛型,并依赖静态分析。这不仅需要技术上的解决方案,还需要整个PHP社区的思维转变。也许有一天它会成为一种可行的选择,但到目前为止还没有。
异步PHP
最近有一个大新闻:PHP正在获得协程—又名。绿色线程—在PHP 8.1中!虽然,纤维(也就是所谓的纤维)可能并没有您想像的那么大改变游戏规则。
即使光纤本身可能只是大型异步计算机中的一小块齿轮,但RFC再次引起了人们对异步社区的关注,对此我们只能感到高兴。异步框架(例如Amphp和ReactPHP)正变得越来越流行,最近Laravel宣布了对Swoole的内置支持。
社区
我不能不提及事实上的标准软件包管理器Composer。它在2020年10月发布了一个新的主要版本:Composer 2.0。此版本具有一些UX改进,但最重要的是实现了极大的性能改进,有时甚至在全新安装时其速度也提高了三倍。
说到作曲家,我喜欢通过查看一段时间内可用的软件包来衡量PHP生态系统的当前状态。去年,我谈到每天的下载量为2500万次,而今天这一数字已增长了一倍以上,而我们的每日下载量为6000万次。
最后,看一下该图,列出随着时间的推移软件包和版本的数量。也可以在他们的网站上找到它。您可以清楚地看到一个健康的生态系统正在成长,而且没有尽头。
语言
最后,让我们回顾一下最近几年PHP中添加的所有内容。如果您没有跟上它的发展,那么您真的想检查一下此列表。我认为这表明社区和核心开发团队在最近几年中的增长,并且我相信还会有更多的增长。
Enums
Fibers
Named Arguments
Constructor Property Promotion
Short closures
Null coalescing operator
Traits
Typed properties
Spread operator
FFI
Return type declarations
Generators
所有这些要说的是:PHP还活着并且做得很好。每年,我对语言的发展方向感到更加满意,并希望在未来的很多年中使用它!
php中文网翻译自:https://stitcher.io/blog/php-in-2021,感谢原作者Brent!