• 技术文章 >后端开发 >php教程

    PHP8.2最新进展,即将进行新特性冻结!

    青灯夜游青灯夜游2022-07-06 20:37:54转载301
    PHP基金会每月都会在博客上发表当月的PHP核心的最新进展。本文介绍的是6月的进展情况。

    PHP8.2 的 QA 版本 和 特性冻结

    PHP8.2计划于11 月 24 日 发布,PHP的版本发行管理员们已经发布了PHP8.2的Alpha 1和Alpha 2的版本。

    这些Alpha 版本不适合用于生产环境,而是用作测试环境和本地开发的版本节点。

    已经编译的windows版本可以在 https://windows.php.net/qa/ 上找到,Docker 镜像 可以在Docker Hub 上找到,源代码在Github 上的 php/php-src中,可以自行编译,在 Homebrew 上,PHP 8.2-dev 软件包可从 shivammathur/php 查看相关指令。

    7 月 19 日 是 PHP 8.2 特性冻结日期,在此之后PHP8.2不在接收新的特性建议。PHP的新特性都有2周的讨论期和2周的投票期。在特性冻结之前必须对所有的RFC(提案)进行投票。

    RFC的更新

    上次在 PHP8.2将有哪些改动(性能改进、新特性)!中介绍了一部分已经通过的新特性,如今又有一些新特性被投票通过,还有一些正在进行中。

    已实现:允许false和null作为独立类型

    在之前的文章中已经介绍过,有些开发者并不看好这件事,认为false作为独立类型并没有什么用。在这之前false只能和其他类型一起联合声明。

    你可以在PHP的播客中了解到对开发者George Peter Banyard的访谈。https://phpinternals.news/99 ,他提到大量的传统函数会在内部返回false和抛出异常。并不会返回有实际意义的东西,返回false也许是为了中断当前函数代码的执行。所以使用false作为独立的返回值也是有意义的。

    已实现:允许true作为独立类型

    早在之前的文章中,小编就提到过,false可以作为独立的类型(并且进行声明),但是true却不可以。此提案建议添加true作为独立类型,使PHP的类型系统根据表现力。

    已通过:随机扩展5.x

    是 Go Kudo 提出的 RFC 的第五次迭代,改进PHP的随机数生成器,并且将一些列的改动移动到单独的扩展中。

    已通过:为is_callable添加弃用通知,并添加callable类型

    PHP以后将弃用is_callable函数的部分表现,但在PHP8.2中只会产生弃用通知。这样做的原因,简单来讲,is_callable使用起来语法混乱。但注意,is_callable只是放弃了判断字符串的用法,比如is_callable(‘myFunction’),对于其他类型仍然是可用的,比如一个变量代表的是一个回调函数。

    已通过:析取范式类型

    该提案提议PHP支持更多的类型声明组合,比如:

    (A&B&D)|int|null

    就是说该值有可能是null,有可能是整型,也有可能是实现了A接口、B接口、D接口的对象。

    对此可以查看提案详情:https://wiki.php.net/rfc/dnf_types

    更多的RFC

    还有更多讨论中的提案,下面做一个简单的介绍和链接。

    讨论中:新的CURL RUL API(增加curl类和url类)

    讨论中:const声明时使用枚举属性值

    讨论中:PDO程序中特性的子类(能够提高对sqlite、pgsql的支持)

    讨论中:使 iterator_*() 系列接受所有可迭代对象(目前只接受Traversables,但不接受array)

    讨论中:在枚举中实现自动Stringable(但仍然不能自定义覆盖)

    讨论中:短闭包(匿名函数想要使用外部变量必须使用use声明,短闭包可以解决这样的问题(,跟js的箭头函数效果一样))

    提到的文章链接:

    关于PHP更多合并说明可以查看:https://thephp.foundation/blog/2022/06/30/php-core-roundup-3/#merged-prs-and-commits

    英文原文地址:https://thephp.foundation/blog/2022/06/30/php-core-roundup-3/

    转载地址:https://phpreturn.com/index/a62be479ae1e02.html

    原文平台:PHP武器库

    版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

    推荐学习:《PHP视频教程

    以上就是PHP8.2最新进展,即将进行新特性冻结!的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:PHP武器库,如有侵犯,请联系admin@php.cn删除
    专题推荐:php
    上一篇:【吐血整理】40+个PHP面试题附答案(实战经验) 下一篇:PHP8.2将有哪些改动(性能改进、新特性)!
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php数组怎么除去值等于3的元素• php怎么去除标签和空格• substr在php中是什么意思• php字符串有哪几种定义方式• 【吐血整理】40+个PHP面试题附答案(实战经验)
    1/1

    PHP中文网