17611538698
webmaster@21cto.com

2022年2月,PHP 重返前十

资讯 0 1071 2022-02-16 10:31:02
自 5 月 1 日起,Alexa 网络流量排名引擎将停止服务。要知道 Alexa 一直被用于 TIOBE 编程语言排行榜的搜索引擎,而现在TIOBE必须改变一些事情。

TIOBE 的CEO Paul Jansen 近日表示,决定选择 Similarweb 搜索引擎作为 Alexa 的替代品。

“这个月我们第一次使用 Similarweb 来选择搜索引擎,幸运的是在发生此变更后,指数也没有大的变化。唯一引人注目的区别是,排名前 3 位的语言 Python、C 和 Java 在排名上都获得了 1% 以上的提升。我们仍在微调与 Similarweb 的整合,这与后端向 HtmlUnit 的转变相结合。一些站点尚未加入,但很快就会跟进。现在 HtmlUnit 被应用于网络爬虫,那么将有可能在指数中加入更多的网站,如 Stackoverflow 和 Github。这将有望在未来几个月内实现。”

来看2月各个编程语言的排名趋势:

TIOBE 2 月 TOP 20 编程语言排行榜

图片

与上个月相比,Python、C 和 Java 的数量增长超过 1%,Python 从 13.58% 飙升至 15.33%,而 C 和 Java 从 12.44% 上升到 14.08%,从 10.66% 上升到 12.13%分别。PHP 又重回了榜单前十名,本次位列第 8,而 Objective C 从第 24 位一路攀升至第 18 位。


PHP在2004年被评作年度语言,作为Web开发界第一大语言近年来热度降低了很多,但是这几年的进步和成长却没有中断。


在2022伊始,我们来一起观察一下目前PHP的现状以及新版本带来的特性。


PHP 8.1x 


PHP最新的8.12版本于年前发布。虽然重大变化不多,但是有很多小特性确实值得称道。


图片


枚举类型


枚举在PHP 8.1中内置支持:

enum Status{  case draft;
case published;
case archived;
public function color(): string{
return match($this)
{
Status::draft => 'grey',
Status::published => 'green',
Status::archived => 'red',
};
}
}


构造函数中的new


在 PHP 8.1 中,可以在初始化默认形参的值、静态变量、全局常量和特性实参时使用新的表达式。


class PostStateMachine{
public function __construct(
private State $state = new Draft(),
) {
}
}


只读属性


只读属性为初始化(即向其赋值)后无法更改的属性。


class CCData
{
public function __construct(
public readonly string $title,
public readonly PostState $state,
public readonly DateTimeImmutable $publishedAt,
) {}
}


与PHP 8.0 的promote相结合,可以用于构造一个很干净优雅的数据类。PHP在每个版本中会带来此类的这些很棒的语法小糖果改进。随着不断迭代改进,相信PHP会变得越来越优雅。


静态分析


PHP中的静态分析正在显著改善:


诸如Laravel一样的框架越来越多地采用静态类型 (编写代码和文档块的唯一目的是帮助静态分析);


PhpStorm 添加了对泛型支持,如果以编写泛型代码并让IDE理解它,那将非常有意义;


PhpStan 和 psalm也在不断完善。


异步PHP


异步社区中的一个令人兴奋的发展是,来自Amp和ReactPHP(两个主要的异步参与者)的开发人员齐心协力制作了一个号称与光纤速率相兼容的事件循环实现,称为 Revolt PHP。


图片


与整个社区相比,异步PHP仅被一小部分人使用;但是,仍然可以看到异步社区正在变得强大并拥抱现代PHP。


无服务器 PHP


无服务器是现代开发的一个方向和确实,PHP在该方面也没有落后。


Matthieu Napoli开发了一个无服务器框架Bref可以让PHP开发人员了解这种相对较新的PHP使用方式,使无服务器 PHP 变得简单。


图片



生态系统


图片


提到PHP生态不得不说Packagist/Composer,现在有超过300万个注册版本和超300的包。其生态系统不断发展壮大,2022 年也不例外。


图片


此前刚刚不久,Packagist 通过了处理超过500亿次安装的里程碑~


作者:场长


评论