PHP 作为网络行业最大的语言,近年来并没有那么流行,但近年来它不断取得进步和增长。 2022 年初,了解PHP 的当前状态以及最新版本带来的内容。
PHP 8.1
PHP的最新版本8.0是几年前发布的。 没有太多重大变化,但有很多小功能值得一提。
枚举类型
枚举具有对PHP 8.1 的内置支持。
枚举状态{案例草稿;案例已归档;公共函数颜色():字符串{返回匹配($this){Status:draft='grey',Status:published='green',Status:archived='red',};}} -1010 PHP 8.1允许在初始化默认参数、静态变量、全局常量和属性参数的值时使用新表达式。
class PostStateMachine{public function __construct(private State $state=new Draft(),) {}}
构造函数中的new
只读属性是在初始化(赋值)后无法更改的属性。
class CCData{public function __construct(public readonly string $title,public readonly PostState $state,public readonly DateTimeImmutable $publishedAt,) {}} 结合PHP 8.0 的Promotion 创建了一个非常干净和优雅的数据类。将PHP 5.6 与实现上述相同功能的相同类进行比较。
类CCData{私有$title;私有$state;私有$publishedAt;公共函数__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 和psalm 也在不断改进。
静态分析
在异步社区的一项激动人心的开发中,Amp 和ReactPHP(两个主要异步参与者)的开发人员联手创建了一个名为Revolt PHP 的光纤速率兼容事件循环实现。
尽管与整个社区相比,异步PHP 仅由少数人使用,但我们看到异步社区仍在不断发展壮大并拥抱现代PHP。
异步PHP
Serverless是现代发展的方向,事实上,PHP在这方面也不甘落后。 Matthieu Napoli 创建了Bref,这是一个无服务器框架,可帮助PHP 开发人员了解如何使用这种相对较新的PHP 并简化无服务器PHP。
无服务器 PHP
两个月前,PHP 世界传来了一些相当大的消息。甚至可能是2021 年最大的新闻。 Nikita 是最活跃的核心维护者之一,他正在研究LLVM,但与此同时,这项新举措得到了几家大公司的支持,最终使我能够实现核心开发。
简而言之,PHP 基金会是一个非营利组织,其唯一目的是资助核心PHP 开发。该计划由JetBrains 提供支持,并为该项目捐赠了100,000 美元。迄今为止,已筹集329,920.75 美元。
这笔资金将用于资助核心开发并支持PHP 的采用,向以前无法使用它的人们开放。
PHP基金会
说到PHP 生态系统,我们应该提到的是,目前有超过300 万个注册版本和300 多个软件包。该生态系统持续发展,2022 年也不例外。
此外,就在最近,Packagist 实现了处理超过500 亿次安装的里程碑。
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。