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

2022-02-0610:27:03后端程序开发Comments1,540 views字数 1199阅读模式

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

即使经过了 26 年的发展和各个年轻强劲的竞争对手,PHP 仍然对世界各地的大部分网站起着至关重要的作用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

为了保持先进性、让开发者拥有真正需要的东西以及适应 Web 应用程序的未来,PHP 开发团队刚刚(11月25日)发布了8.1 正式版,其中包含了大量开发者要求的实用且不错的特性(https://www.php.net/index.php#id2021-11-25-1)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP 8.1最令人期待的新增功能之一是enumerations,目前我们姑且称为一种枚举类型,具有固定数量的值列表,这种方式已经在 C 和 Python 等语言中可用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

它通过enum关键字声明,关键字后面跟着它的名字,语法与类和接口的语法非常相似。enum包括声明字符串或整数(=支持的枚举)、扩展类和实现接口的选项,能帮助开发者写出更具可读性的代码。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

从 PHP 8.1 开始,该语言放宽了对初始化器表达式中新表达式的限制,并允许它们在参数中的默认值、属性参数、静态变量初始化器和全局常量中使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

该更新还包含“第一层只读属性”,开发者可以“直接公开公共只读属性,而不必担心类变量会被外部修改破坏”。它只能初始化一次,且只能在声明它的范围内初始化,否则属性将引发异常抛出。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

某个实用函数永远不会返回值,但是能够抛出异常或终止请求。开发者可以通过声明该函数为新的返回类型或静态分析器一直共享这些信息(使用never关键字)。如果函数的输入为多种类型,可以通过交集类型来运行。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

要从特定数组查找键值是否都是从 0 开始且为连续整数的程序员可以用array_is_list这样一个新函数来搞定,将字符串的键值解包到数组中也不再被禁止。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

其他增强功能包括fsyncPHP 核心中的实现、测试常量是否为 final 的方法以及将 Fibers 引入。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

和 Ruby 语言有点类似,PHP Fibers 可用于创建非阻塞执行上下文,尽管 PHP 以往版本中已经有针对用于编写异步 PHP 代码的库和框架,如Swoole。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP 8.1 :送给开发者枚举、纤程与只读属性等新礼物文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP 8.1有一小部分弃用列表,可在 PHP wiki 中查看。值得注意的是,将 null 传递给不可为 null 的标量参数或将非整数兼容的 float 隐式转换为 int 现在将出现警告性错误。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP 8.1 这一版本是在宣布成立 PHP 基金会后几天正式发布。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP基金会是一家非营利组织。它旨在通过为PHP语言贡献者确保工资来确保语言的继续开发——但是“当前的 RFC 流程不会改变,语言的决策将始终留给 PHP Internals 社区。”文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

这一步已经讨论了一段时间,但是在主要贡献者之一Nikita决定放弃全职 PHP 内核开发角色,专注于基础设施项目 LLVM 之后的刺激,这一步才正式启动。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

PHP基金会的创始成员包括 Acquia、Automattic、Craft CMS、JetBrains、Laravel、PrestaShop、Private Packagist、Symfony、Todeways 和 Zend。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html

作者:场长
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/23108.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/23108.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定