wordpress php 5.5,开发者应该了解的 WordPress 5.5 对PHP相关的更改

WordPress 5.5 对PHP的兼容做了一些改进和变更,以不断改善所有受支持的PHP版本(当前为5.6.20–7.4)之间的兼容性。

0ec0cd99b86f7b3be77342cea9b3a287.png

以下是开发者需要注意的一些事项。

自动PHP兼容性扫描

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

在5.5周期中,将单独检查每个潜在问题,并进行修复或手动将其标记为假阳性(false-positive)。

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

将来,当WordPress支持的PHP版本发生更改(向任一方向更改)时,可以轻松地调整配置文件以检测新支持版本范围内的潜在问题。

有关更多信息,请参见Trac上的(#49922)。

不推荐使用:wp_unregister_GLOBALS()

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

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

有关更多信息,请参见#49938。

不推荐使用:$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(来源)

有关更多信息,请参阅Trac(#49810)上的相关工单。

在IXR库中spread运算符用法

在WordPress 5.3中,在整个代码库中引入了PHP spread 运算符。除了代码现代化之外,利用 spread 运算符还有很多好处:“允许使用的 spread 运算符简化了代码和提高性能-无论是在速度和内存使用-尤其是因为它已经在许多这些过程中使用进行多次功能被引入的每 一个页面加载...”

WP 5.3: Introducing the spread operatorby @jrf

与内核捆绑在一起的IXR库(现在被视为“被采用的”库)为WordPress中与XML-RPC相关的功能提供了支持。

IXR库代码中的所有func_get_args()调用现在都已更新,以利用spread运算符。

有关更多信息,请参阅Trac工单(#48267),WP 5.3:介绍了spread运算符 ,或最初将spread运算符引入Core的Trac工单(#47678)。

使用Composer安装PHPUnit

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

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

从[47881]开始,PHPUnit现在已被定义为WordPress Corecomposer.json文件中的开发人员要求。

运行composer install将根据Composer运行的PHP版本确定要安装的PHPUnit的适当版本。

有关更多信息,请参阅Trac工单(#46815)。

其他构建/测试工具改进现在,在本地运行Core linting时将忽略包含src的插件和主题。这将防止在本地使用src代替build开发时标记违反代码标准的行为(请参阅#49781)。

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值