hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - cms - 正文 君子好学,自强不息!

【WordPress建站】WordPress开发人员要了解的 PHP 7.4 新特性

2019-11-13cms搜奇网14°c
A+ A-

文章目录[隐藏]

  • 新功能
    • 类型属性
    • 箭头功能
    • 在数组内部解包
    • 空合并分配运算符
  • 不推荐使用的功能
    • 没有括号的嵌套三元运算符
    • 在对象上使用 array_key_exists()
    • 带有花括号的数组和字符串偏移量访问

PHP 7.4 计划于2019年11月28日发布。WordPress 5.3也将包含一些针对已弃用功能的提交。

大多数WordPress插件和主题开发人员不太可能在一段时间内使用新的PHP 7.4功能,除非对环境可以进行一定程度控制的设置上进行工作。由于WordPress不愿意将最低PHP版本提高到最新的受支持版本,因此使用新功能可能需要几年的时间。但是,开发人员应确保其插件和主题与PHP 7.4兼容。跟上当前功能也是一种很好的做法。

WordPress 5.2 将最低要求提高到PHP 5.6,并推荐使用 PHP 7.3。以下是WordPress安装的当前PHP使用情况统计信息的情况:

  • PHP 7.3 – 9.6%
  • PHP 7.2 – 22.2%
  • PHP 7.1 – 13.5%
  • PHP 7.0 – 14.9%
  • PHP 5.6 – 25.7%

当前,PHP 7.2和7.3是唯一获得有效支持的版本。PHP将在12月1日停止对7.1版的安全支持。

新功能

PHP 7.4包含许多新功能,这些新功能将使编写代码更加容易。以下是对WordPress插件和主题作者可能有用的一些功能的简要概述。

类型属性

PHP在5.0中首次引入了类型提示,并不断改进该功能。PHP 7.0引入了返回类型声明。PHP 7.4使它更上一层楼,并允许开发人员为类属性声明类型。这使开发人员可以确保分配给特定属性的数据类型始终是该数据​​类型。

在下面的示例中,$id属性只能分配一个整数,而$title属性只能分配一个字符串。如果声明了严格的类型,尝试分配错误的数据类型将导致致命错误。否则,PHP会将值强制转换为正确的类型。

class Event {
 
    public int $id;
 
    public string $title;
}

箭头功能

许多开发人员一直在呼吁使用类似于JavaScript的箭头功能。它们非常好用。但是,PHP的箭头功能(也称为“短闭包”)略有​​不同。PHP 7.4引入了fn关键字(现在是保留关键字)。短闭包只能包含一个表达式,没有return关键字。它们的功能不如JavaScript下的强大,但是它们确实为某些情况提供了快速的解决方案。

例如,以下代码片段显示了两种不同的方法,这些方法可以根据一组用户对象构建一组用户电子邮件。

// 旧方式,但还可用
$value = array_map( function( $user ) {
    return $user->user_email;
}, $users );

// 新方式
$value = array_map( fn( $user ) => $user->user_email, $users );

在数组内部解包

参数解包是PHP 5.6引入的,因此对于WordPress领域的许多开发人员来说,这仍然可能是陌生的领域。在我的某些项目中,这是非常宝贵的功能。

PHP 7.4 允许开发人员在数组中解包数组。这应该比array_merge()散布运算符(...)是一种语言构造而不是一个函数要快得多。

看下下面的示例,该示例在较大的颜色数组中注入两种颜色的数组。

$colors_a = [ 'green', 'blue' ];

$colors_b = [ 'red', ...$colors_a, 'yellow', 'purple' ];

// [ 'red', 'green', 'blue', 'yellow', 'purple' ];

空合并分配运算符

空合并赋值运算符是将isset()检查与三元运算符组合在一起的简便方法。

以下示例显示了如何检查$product['id']变量。如果已设置,则什么也不做。否则,在右侧分配它的值。您可以看到PHP版本之间代码的演变。用7.4编写要简单得多。

// Pre-PHP 7.0.
$product['id'] = isset( $product['id'] ) ? $product['id'] : 0;

// PHP 7.0.
$product['id'] = $product['id'] ?? 0;

// PHP 7.4.
$product['id'] ??= 0;

不推荐使用的功能

PHP 7.4将弃用某些功能。插件和主题作者可以查阅完整列表,以确定是否应更新任何过时的代码。我挑选了过去几年在插件和主题代码中看到的一些项目。在当前代码库中,大多数其他不推荐使用的功能不太可能。

没有括号的嵌套三元运算符

嵌套三元运算符通常是开发人员应避免的东西。说真的,只是不要写它们。它们很难遵循,并且由于人为错误而易于出错。但是,如果您要谨慎行事并放弃好的建议,请至少使用括号。PHP 7.4不建议使用不带括号的嵌套三元组。

// 不好!已弃用
$value = $a ? $b : $c ? $d : $e;

// 好
$value = ( $a ? $b : $c ) ? $d : $e;

// 好
$value = $a ? $b : ( $c ? $d : $e );

在对象上使用 array_key_exists()

开发人员不应在对象上使用array_key_exists(),因为对象不是数组。而是使用更合适的property_exists()函数或isset()

// 不好,已弃用
if ( array_key_exists( $property, $object ) ) {}

// 好
if ( property_exists( $object, $property ) ) {}

// 好
if ( isset( $object->$property ) ) {}

带有花括号的数组和字符串偏移量访问

使用花括号进行数组和字符串偏移量访问有点稀少,但是我已经看到了几次。确保您使用的方括号[],而不是的大括号{}

// 不好,已弃用
$value = $a{ $key };

// 好
$value = $a[ $key ];

声明:文本内容出自 https://wptavern.com/first-look-at-php-7-4-for-wordpress-developers ,由 ki4 翻译整理,转载请保留本声明和网址!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
【WordPress建站】WordPress开发人员要了解的 PHP 7.4 新特性

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
未定义标签

本文来源:搜奇网

本文地址:https://www.sou7.cn/281520.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>