每年一次,我回顾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
Attributes
Named Arguments
Match
Constructor Property Promotion
Short closures
Null coalescing operator
Traits
Typed properties
Spread operator
The JIT
FFI
Return type declarations
Generators
所有这些要说的是:PHP还活着并且做得很好。每年,我对语言的发展方向感到更加满意,并希望在未来的很多年中使用它!
未经允许不得转载:任鹏个人博客 » 2021年的PHP,不负众望
最新评论
Forex wiki. https://lt.forex-stock-bitcoin-brokers.com
Magnificent items from you, man. I have take note your stuff
Following on from the 3rd March Meetings held by economic de
It is remarkable, rather valuable message dfgdlfg2131.32
一般都会有一个沙盒期的,过了沙盒期就会慢慢放出来
百度不收录是应为是新站的原因吗?
The spike in consumer prices that left inflation at a four-d