Code前端首页关于Code前端联系我们

PHP 8.1:给开发者的新礼物,如枚举、线程和只读属性

terry 2年前 (2023-09-25) 阅读数 50 #后端开发

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物

即使经过 26 年的发展和各种年轻而强大的竞争对手,PHP 仍然在全球大多数网站中发挥着重要作用。重要的任务。

为了保持进步,让开发者拥有自己真正需要的东西,适应未来的Web应用,PHP开发团队刚刚(11月25日)发布了8.1正式版本,其中包含了大量实用的内容以及开发人员要求的实用功能。不错的功能(https://www.php.net/index.php#id2021-11-25-1)。

PHP 8.1 最受期待的新功能之一是枚举,我们目前将其称为具有固定数量的值列表的枚举类型。这种方法已经在 C 和 Python 等语言中可用。

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物

使用 enum 关键字声明其名称,语法与类和接口非常相似。 enum 包括声明字符串或整数(= 支持的枚举)、扩展类和实现接口的选项,这可以帮助开发人员编写更具可读性的代码。

从 PHP 8.1 开始,该语言放宽了对初始化表达式中新表达式的限制,并允许它们在参数默认值、属性参数、静态变量初始值设定项和全局常量中使用。

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物

该更新还包括“第一级只读属性”,允许开发人员“直接公开公共只读属性,而不必担心类变量被外部修改破坏”。它只能初始化一次,并且只能在声明它的范围内初始化,否则该属性将导致抛出异常。

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物

辅助函数永远不会返回值,但可以引发异常或终止请求。开发人员始终可以通过声明具有新返回类型的函数(使用 never 关键字)来与静态分析器共享此信息。如果函数的输入具有多种类型,则可以通过结点类型运行该函数。

想要查看特定数组中的所有键是否从 0 开始并且是连续整数的程序员可以使用像 array_is_list 这样的新函数来执行此操作。不再禁用将字符串键解压到数组中。

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物

其他改进包括 fsync 的 PHP 核心实现、一种测试常量是否有限的方法以及 Fiber 的引入。

这有点像在 Ruby 中,PHP Fibers 可用于创建非阻塞执行上下文,尽管以前版本的 PHP 已经拥有用于编写异步 PHP 代码的库和框架(如 Swoole)。

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物

PHP 8.1 有一个小的弃用列表,您可以在 PHP wiki 上查看。特别是,将 null 传递给不可为 null 的标量参数或将不兼容的 float 隐式转换为 int 现在将导致警告错误。

PHP 8.1 此版本是在 PHP 基金会发布公告几天后发布的。

PHP 基金会是一个非营利组织。它的目的是通过确保 PHP 贡献者获得报酬来确保语言的持续发展 - 但“当前的 RFC 流程不会改变,语言决策将始终留给内部 PHP 社区”。

这一举措已经讨论了一段时间,但在主要贡献者之一 Nikita 决定放弃 PHP 核心开发的全职角色,专注于 LLVM 基础设施项目后,才正式启动。

PHP 基金会的创始成员包括 Acquia、Automattic、Craft CMS、JetBrains、Laravel、PrestaShop、Private Packagist、Symfony、Todeways 和 Zend。 作者:导演

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门