新版 WordPress 5.5 中PHP相关更改对开发者的影响

即将到来的最新版 WordPress 5.5 对 PHP的兼容性做了一些改变,以保证不断更新所有受支持的 PHP版本(目前为php5.6.20 – PHP7.4)之间的兼容性。

本文就是说明新版 WordPress 5.5 中PHP相关更改对开发者的影响以及需要注意的一些地方。

新版 WordPress 5.5

自动的 PHP兼容性扫描检测

之前在 WordPress 5.3中,内核的 Travis-CI中添加了一个新定时作业,以使用 PHPCompatibilityWP PHPCS规则集扫描潜在的PHP兼容性问题。

在 wordpress5.5版本中,将单独检查每个潜在问题,并进行修复或手动将其标记为(false-positive)。

这种检测产生错误或警告,可以在提交后立即标记和检查潜在的 PHP不兼容性,以确保它们不会在 WordPress中发生。

之后当 WordPress支持的PHP版本发生更改时,可以轻松地调整配置文件以检测新支持版本范围内的潜在问题。

 

不推荐使用:wp_unregister_GLOBALS()

PHP中的 register_globals指令在5.3版中已弃用,在5.4版中已完全删除。因为该函数的第一行调用ini_get( )(false如果未识别该指令则返回),因此该函数将始终尽早返回,从而使其不必要。

所以自 WordPress 5.5起不推荐使用此 wp_unregister_GLOBALS( )功能。

 

不推荐使用: $HTTP_RAW_POST_DATA

$HTTP_RAW_POST_DATA全局变量在 PHP 5.6.0过时,在 PHP 7.0.0完全去除。因此,开发人员不应依赖此变量的存在或准确性。但是,在插件目录中搜索此变量仍会产生约1,500个结果。尽管其中一些匹配项 $HTTP_RAW_POST_DATA在注释中或兼容性标记中标记,但是开发人员应审核他们的代码以尽可能删除此变量。

由于仍支持 PHP 5.6,并且该变量存在于大量插件中,因此在 WordPress 5.5中不会将其完全删除。但是,当支持的 PHP版本更改为PHP> = 7.0时,它将从WordPress内核中删除。

以下是推荐的替代方式:

$var = file_get_contents( 'php://input' );

5.5中已删除了一些不影响代码结果的变量。但是,还有两个实例将被保留,因为在将不良做法告知社区之前,将它们删除特别有风险。

  • xmplrpc.php
  • wp-includes/rest-api/class-wp-rest-server.php

 

在 IXR库中 spread运算符用法

在WordPress 5.3中,在整个代码库中引入了PHP spread 运算符。除了代码现代化之外,利用 spread 运算符还有很多好处:

“允许使用的 spread 运算符简化了代码和提高性能-无论是在速度和内存使用-尤其是因为它已经在许多这些过程中使用进行多次功能被引入的每 一个页面加载...”

与内核捆绑在一起的IXR库(现在被视为“被采用的”库)为WordPress中与XML-RPC相关的功能提供了支持。IXR库代码中的所有func_get_args()调用现在都已更新,以利用spread运算符。

 

使用 Composer安装 PHPUnit

有时很难启动并运行本地环境以为 WordPress 内核做出贡献,尤其是在需要运行 PHPUnit测试套件时。WordPress和 PHP版本的不同组合要求使用不同版本的 PHPUnit。

Composer是用于PHP中的依赖项管理的工具。指定项目依赖项后,它将为您适当地管理安装和更新那些依赖项。

PHPUnit 现在已被定义为 WordPress Core composer.json文件中的开发人员要求。运行composer install 将根据 Composer运行的PHP版本确定要安装的 PHPUnit的适当版本。

 

WP5.5其他构建/测试工具改进

目前在本地运行 Core linting时将忽略包含 src的插件和主题。这将防止在本地使用 src代替 build开发时标记违反代码标准的行为。

之前当 lint:php作业在 Travis-CI上运行时,在 linting 之前使用 PHPCBF格式化代码。由于 composer format在进行更改时运行会返回错误,因此无法执行 linting 部分,也不会生成报告。Core在为问题添加代码库之前将不再运行 formatting命令。

WordPress编码标准规则集已从 2.1.1版本更新到 2.3.0。有关此更新中包含的更改的完整列表,请阅读规则集的发行说明。

readme.html 文件中指定的 PHP推荐版本已从 7.3更改为 7.4。这使该建议与 WordPress.org上的建议保持一致。

 

转载请注明链接地址:荐爱小站 » 新版 WordPress 5.5 中PHP相关更改对开发者的影响

赞 (0) 赏 !

觉得文章有用就打赏一下吧,赠人玫瑰手有余香!

支付宝扫一扫打赏

微信扫一扫打赏