当前位置: 首页 > 科技观察

PHP在2022年的发展现状

时间:2023-03-13 08:40:30 科技观察

PHP作为Web界第一大语言,近几年的热度不够,但近几年的进步和成长并没有中断。2022年伊始,让我们一起了解一下PHP的现状以及最新版本带来的特性。PHP8.1PHP的最新版本8.0已于多年前发布。虽然没有太多大的变化,但是有很多小功能确实值得称赞。枚举类型enum在PHP8.1中内置支持:enumStatus{casedraft;casepublished;casearchived;publicfunctioncolor():string{returnmatch($this){Status::draft=>'grey',Status::published=>'green',Status::archived=>'red',};}}构造函数中的新功能在PHP8.1中,可以在初始化默认参数值、静态变量、全局常量和属性参数时使??用新的表达式。classPostStateMachine{publicfunction__construct(privateState$state=newDraft(),){}}只读属性只读属性是初始化后不能改变的属性(即给它们赋值)。classCCData{publicfunction__construct(publicreadonlystring$title,publicreadonlyPostState$state,publicreadonlyDateTimeImmutable$publishedAt,){}}结合PHP8.0的提升可以用来构造一个非常干净优雅的数据类。与PHP5.6以上同一个类实现相同功能比较:;$this->state=$state;$this->publishedAt=$publishedAt;}publicfunctiongetTitle(){return$this->title;}publicfunctiongetState(){return$this->state;}publicfunctiongetPublishedAt(){return$this->publishedAt;}}看到明显的优势,不是吗?PHP在每个版本中都带来了这些不错的小语法糖果改进。随着不断的迭代改进,相信PHP会越来越优雅。静态分析PHP中的静态分析正在显着改进:Laravel等框架越来越多地采用静态类型(编写代码和文档块的唯一目的是帮助静态分析);PhpStorm增加了对泛型的支持,如果用泛型代码编写并让IDE理解它,那将很有意义;PhpStan和psalm也在改进。异步PHP在异步社区的一个激动人心的发展中,来自Amp和ReactPHP(两个主要的异步播放器)的开发人员聚集在一起,产生了一个所谓的光纤速率兼容事件循环实现,称为RevoltPHP。与整个社区相比,异步PHP仅被一小部分人使用;然而,仍然可以看出异步社区正在壮大并拥抱现代PHP。ServerlessPHPServerless是现代发展的一个方向,事实上,PHP在这方面也不甘落后。MatthieuNapoli开发了一个无服务器框架Bref,让PHP开发人员了解这种相对较新的PHP使用方式,让无服务器PHP变得简单。PHPFoundation两个月前,PHP界有一个相当大的新闻,甚至可以说是2021年最大的新闻:最活跃的核心维护者之一Nikita正在研究LLVM,但也有一个新的倡议得到了支持几家大公司的核心发展终于实现了可持续发展。简而言之,PHP基金会是一个非盈利组织,其唯一目标是资助PHP核心开发。该计划由JetBrains推动,他们已向该项目投入100,000美元。到目前为止已筹集到329,920.75美元;这笔钱将用于资助核心开发,帮助传播PHP,并为以前无法??使用PHP的人打开大门。生态系统说到PHP生态,就不得不说Packagist,目前已经有超过300万的注册版本,超过300个包。它的生态系统不断发展壮大,2022年也不例外。此外,不久前,Packagist跨越了处理超过500亿次安装的里程碑。