PHP 8.1
PHP最新的8.0版本于年前发布。 虽然重大变革不多,但是有很多小特性确实值得称道。
列举类型
列举在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 5.6要实现上面同样功能的相同类:
class CCData{private $title;private $state;private $publishedAt;public function __construct($title,$state,$publishedAt = null) {$this->title = $title;$this->state = $state;$this->publishedAt = $publishedAt;}public function getTitle(){return $this->title;}public function getState(){return $this->state;}public function getPublishedAt(){return $this->publishedAt;}}
可以看到明显的上风,有没有?
PHP在每个版本中会带来此类的这些很棒的语法小糖果改进。随着不断迭代改进,相信PHP会变得越来越优雅。
静态剖析PHP中的静态剖析正在显著改进:
诸如Laravel一样的框架越来越多地采取静态类型 (编写代码和文档块的唯一目的是帮助静态剖析);
PhpStorm 添加了对泛型支持,如果以编写泛型代码并让IDE理解它,那将非常故意义;
PhpStan and psalm也在不断完善。
异步PHP异步社区中的一个令人愉快的发展是,来自Amp和ReactPHP(两个紧张的异步参与者)的开拓职员同心协力制作了一个号称与光纤速率相兼容的事宜循环实现,称为 Revolt PHP。
与全体社区比较,异步PHP仅被一小部分人利用; 但是,仍旧可以看到异步社区正在变得强大并拥抱当代PHP。
无做事器 PHP无做事器是当代开拓的一个方向和确实,PHP在该方面也没有掉队。Matthieu Napoli开拓了一个无做事器框架Bref可以让PHP开拓职员理解这种相对较新的PHP利用办法,使无做事器 PHP 变得大略。
PHP基金会
两个月前,PHP天下传来了一个相称大的,乃至可能是2021年最大的:最生动的核心掩护者之一Nikita正在从事LLVM的事情,但同时也有一项新举措得到了几个人的支持大公司终极使核心发展可持续。
简而言之,PHP基金会是一个非营利组织,其唯一目标是帮助PHP核心开拓。该操持由JetBrains推动,他们已经向该项目承诺了100,000美元。目前已经筹集了329,920.75 美元;
这笔钱将用于帮助核心开拓,用于帮助PHP推广,让以前无法利用PHP的人们打开大门。
生态系统提到PHP生态不得不说Packagist,现在有超过300万个注册版本和超300的包。其生态系统不断发展壮大,2022 年也不例外。
其余,此前刚刚不久,Packagist 通过了处理超过500亿次安装的里程碑。