PHP 8.4: 弃用使用两个以上参数调用 session_set_save_handler()
Session 扩展中的 session_set_save_handler 函数设置了一系列用户级会话存储函数,以覆盖内置的基于文件的存储机制。当应用需要将用户会话存储在数据库、内存中,或在自动化测试期间覆盖会话存储机制时,这很有用。session_set_save_handler 函数支持两个重载签名,这仅适用于原生内置的 PHP 函数,并且只有少数 PH...
PHP 8.4: 新增 grapheme_str_split 函数
PHP 8.4 中的 Intl 扩展添加了一个名为 grapheme_str_split 的新函数,该函数将给定的字符串拆分为一个字素数组。字素是语言系统中有意义和功能的最小单位。相比之下,来自 Mbstring 扩展的 mb_str_split 函数具有相似的语义,但主要区别在于mb_str_split 函数将字符串拆分为 Unicode 多字节字符,而 ...
带你深入了解 PHP 8.4 的属性钩子
属性挂钩允许你自定义类属性的 getter 和 setter 逻辑,而无需编写单独的 getter 和 setter 方法。这意味着你可以直接在属性声明中定义逻辑,这样你就可以直接访问属性(如 $user->firstName),而无调用方法(如 $user->getFirstName() 和 $user->setFirstName())。
PHP 8.4.0 Alpha 4 可用于测试
PHP 团队发布了 PHP 8.4.0 的第二个测试版本 Alpha 4。这延续了 PHP 8.4 的发布周期,其大致轮廓在 PHP Wiki 中指定。有关 PHP 8.4.0 Alpha 4 的源代码下载,请访问下载页面。请仔细测试此版本,并在错误报告系统中提交发现的任何问题。请不要在生产中使用此版本,这是一个早期测试版本。有关新功能和其他更改的更多信息,...
一些新的数组函数正在加入 PHP 8.4
PHP 8.4 仍在开发中,到目前为止已经有了一系列新功能和改进。新功能不断出现,其中一个最近出现的功能是添加了新的数组方法。有一个 RFC(仍处于投票阶段),它建议添加这些新方法,这些方法本质上与检查数组中是否存在与特定条件匹配的元素有关。新方法是:array_find、array_find_key、array_any、array_all、array_find 方...
PHP 8.4 中是否实现不带额外括号的类实例化?
略去 new 表达式周围括号的 RFC 可能会出现在 PHP 8.4 中。该 RFC 目前处于投票阶段,有 21 张“赞成”票和 3 张“反对”票。投票将于 5 月 24 日结束,因此 ⅔ 的投票仍有可能失败,但乐观地说,看起来它正朝着正确的方向前进。自从引入了实例化期间的成员访问,你必须将 new MyClass() 调用封装在括号中,否则将出现解析错误。...
PHP 8.4: OpenSSL: OpenSSL 版本最低要求提升到 1.1.1
PHP OpenSSL 扩展为 PHP 提供了加密、身份验证、密钥交换、密码哈希和通用哈希功能。OpenSSL 扩展使用 OpenSSL 库来提供此功能。在 PHP 8.4 及更高版本上,构建 OpenSSL 扩展的最低要求从 1.0.1 增加到 1.1.1。该扩展也继续与 OpenSSL 兼容。请注意,OpenSSL 1.1.1(2018 年 9 月发布)...
属性钩子在 PHP 8.4 中越来越接近现实
属性钩子(Property Hooks)的 RFC 通过了一个重要的里程碑,获得了压倒性的 34 张赞成票和 1 张反对票。这远远高于通过所需的 ⅔ 多数票。PHP 中的属性钩子是什么?以下是 RFC 的提案摘要:开发人员经常使用方法来包装和保护对对象属性的访问。对于这种逻辑,有几种非常常见的模式,在实践中,重复实现这些模式可能很繁琐。或者,开发人员可以使用...
PHP 8.4: 隐式 nullable 参数声明弃用
PHP 8.4 中的重要弃用这是 PHP 8.4 中重要的弃用,由于 PHP 8.4 中的这一更新,旧版 PHP 应用可能会出现弃用通知。PHP 支持为函数参数、返回值、类属性、类常量和枚举声明类型。PHP 是一种动态类型语言,有着几十年的历史,多年来得到了一些改进和特性。随着标量类型(PHP 7.0)、 nullable 的类型(7.1)、类型化属性(7....
PHP 8.4: 新增 http_(get|clear)_last_response_headers 函数
PHP 提供了一个 HTTP 包装器,可以使用标准文件系统函数访问远程 HTTP 内容。例如,file_get_contents() 函数可以获取远程 HTTP 资源以及文件系统上的常规文件。在成功建立远程连接后,HTTP 包装器填充一个名为 $http_response_header 的本地变量。此变量是在局部作用域中填充的,它不是超全局变量。这是一个历史...