2022 年的 PHP

作者: dreamfly 分类: php 发布时间: 2022-09-22 09:02

php8.1

这个版本的php支持了枚举,你可以定义枚举类型。

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关键字进行容器创建。

class PostStateMachine
{
    public function __construct(
        private State $state = new Draft(),
    ) {
    }
}

我们可以在构建函数中定义只读属性。

class PostData
{
    public function __construct(
        public readonly string $title,
        public readonly PostState $state,
        public readonly DateTimeImmutable $publishedAt,
    ) {}
}

静态分析

php正在迅猛地发展静态分析,很多项目都开始了静态分析的使用。

  • 像 Laravel 这样的框架越来越多地采用静态类型(编写代码和文档块的唯一目的是帮助静态分析);
  • PhpStorm添加了对泛型类型的支持,如果您可以编写泛型代码并让您的 IDE在您编写它时理解它,那将是一件大事;
  • PhpStan和psalm正在增长
  • 越来越多的人对静态分析感兴趣。

php基金会

PHP 基金会是一个非营利组织,其唯一目标是资助 PHP 核心开发。该计划由 JetBrains 推动,他们已经向该项目承诺了 100,000 美元。与其他许多人一样,他们现在已经筹集了 329,920.75 美元;一个好的开始!

这笔钱用于资助核心开发,并为以前无法使用 PHP 的人们打开大门。您可以在JetBrains 的博客文章中阅读有关基金会使命和目标的更多信息。

生态系统

php的包管理Packagist,现在有超过 300 万个注册版本和超过 300.000 个包。如您所见,生态系统不断发展壮大,2022 年也不例外。

packagist

异步 PHP

异步社区中的一个令人兴奋的发展是,来自 Amp 和 ReactPHP(两个主要的异步参与者)的开发人员齐心协力制作了一个事件循环,称为Revolt PHP。

与整个社区相比,异步 PHP 仅被一小部分人使用;但是仍然很高兴看到异步社区变得强大并拥抱现代 PHP。

无服务器 PHP

创建和运行现代且可扩展的 PHP 应用程序应该更简单。通过使用无服务器技术(如 AWS Lambda),我们可以专注于开发,而不必担心服务器。

Bref 是一个开源项目,可为 AWS Lambda 提供对 PHP 及其框架的全面支持。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。