社区编辑申请
注册/登录
2022年PHP的发展现状
开发 后端
PHP作为Web界第一大语言近年来热度不够,但是这几年的进步和成长却没有中断。在2022伊始,我们来一起学习一下目前PHP的现状以及最新版本带来的特性。

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

PHP 8.1

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

枚举类型

枚举在PHP 8.1中内置支持:

  1. enum Status 
  2. case draft; 
  3. case published; 
  4. case archived; 
  5.  
  6. public function color(): string 
  7. return match($this) 
  8. Status::draft => 'grey', 
  9. Status::published => 'green', 
  10. Status::archived => 'red', 
  11. }; 

构造函数中的new

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

  1. class PostStateMachine 
  2. public function __construct( 
  3. private State $state = new Draft(), 
  4. ) { 

只读属性

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

  1. class CCData 
  2. public function __construct( 
  3. public readonly string $title, 
  4. public readonly PostState $state, 
  5. public readonly DateTimeImmutable $publishedAt, 
  6. ) {} 

与PHP 8.0 的promote相结合,可以用于构造一个很干净优雅的数据类。对比PHP 5.6要实现上面同样功能的相同类:

  1. class CCData 
  2. private $title; 
  3. private $state; 
  4. private $publishedAt; 
  5. public function __construct( 
  6. $title, 
  7. $state, 
  8. $publishedAt = null 
  9. ) { 
  10. $this->title = $title; 
  11. $this->state = $state; 
  12. $this->publishedAt = $publishedAt; 
  13.  
  14. public function getTitle() 
  15. return $this->title; 
  16.  
  17. public function getState() 
  18. return $this->state; 
  19.  
  20. public function getPublishedAt() 
  21. 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-04-18 12:11:23

5G机器学习物联网

2022-04-20 22:04:58

物联网安全勒索软件网络攻击

2022-02-14 11:30:28

2022-04-09 11:53:52

供应链攻击

2022-05-18 10:58:36

LinuxKali Linux

2022-05-01 12:19:33

云原生公有云云计算

2022-04-18 10:13:11

超自动化数字化

2022-04-06 10:12:51

网络安全网络漏洞

2022-04-17 23:02:08

数据分析数字化转型人工智能

2022-04-26 10:11:16

开发工具JavaScript

2022-05-18 23:42:08

网络安全安全分析工具

2022-05-16 08:33:54

漏洞微软安全补丁

2022-02-12 12:26:45

2022-03-28 10:03:32

CIO首席信息官IT基础

2022-01-17 14:34:59

2022-04-27 11:51:14

云计算

2022-03-09 06:22:03

智能建筑物联网

2022-04-07 10:55:20

CDN网络安全

2022-04-24 08:00:00

开发UI组件

2022-03-29 06:40:35

虚拟化应用程序

同话题下的热门内容

Python 字符串总结,建议收藏!这份Java日志格式规范,拿走不谢!Mybatis-Plus官方发布分库分表神器,一个依赖轻松搞定!后端思维篇:如何应用设计模式优化代码改变 Python 对象规则的黑魔法 Metaclass几种限流算法的Go语言实现JMeter关联之正则表达式提取器在 Go 中实现一个支持并发的 TCP 服务端

编辑推荐

使用Kotlin做开发一个月后的感想面试官问你什么是消息队列?把这篇甩给他!五大自动化测试的Python框架图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)2018年最流行的十大编程语言,其中包括你用的语言吗?
我收藏的内容
点赞
收藏

51CTO技术栈公众号