网站专题BANNER

2022年PHP的现状以及最新版本带来的特性

发表日期:2022-02-24 09:35:00 文章编辑:洛壹网络 文章来源:深圳网站制作

PHP作为Web界第一大语言近年来热度不够,但是这几年的进步和成长却没有中断。在2022伊始,我们来一起学习一下目前PHP的现状以及最新版本带来的特性。


网站开发_2022年PHP的现状以及最新版本带来的特性


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亿次安装的里程碑。


网站开发_2022年PHP的现状以及最新版本带来的特性

相关内容
纯静态和伪静态的区别?

我们从以下三个方面,对比纯静态和伪静态两种静态页面生成方式,逐一展开分析。

用JS的正则表达式如何判断输入框内为中文或者是英文数字,或者是三者混编

用JS的正则表达式如何判断输入框内为中文或者是英文数字,或者是三者混编

css制作扇形

css制作扇形

纯CSS3文字Loading动画特效

纯CSS3文字Loading动画特效

PhpStorm 2022.1 EAP#3 发布:增强多行和嵌套数组形状

PhpStorm 2022.1 EAP 3 在 PHPDoc 和属性中添加了对多行和嵌套数组形状的完全支持:在这种情况下,可以使用数组形状注释定义数组结构,以获得键的代码补全并推断值的类型。

网站开发技术分享:Linux程序前台后台切换详解

Linux程序前台后台切换:在Linux终端运行命令的时候,在命令末尾加上 & 符号,就可以让程序在后台运行Ubuntu$">root@Ubuntu$ ./tcpserv01 &

如何分辨python换行符,Python换行符的多行模式

Python 的正则表达式支持 多行模式,将每行文字分别匹配。然而各种操作系统里,换行符的表示法各不相同,会导致 Python 不能正确使用多行模式。

影响整个网页的成败,Flex弹性布局介绍

弹性布局,又称“Flex布局”,是由W3C老大哥于2009年推出的一种布局方式。可以简便、完整、响应式地实现各种页面布局。而且已经得到所有主流浏览器的支持,我们可以放心大胆的使用。

我们
定制
咨询
联系
在线咨询
您的浏览器版本太低

请升级您的浏览器: Internet Explorer11 或以下浏览器: Firefox  /  Chrome  /  360极速浏览器