为什么 WordPress 至少使用 PHP 7.4

先说一下 WordPress 最近这几个版本对 PHP 版本要求的改进,首先WordPress 在 6.3 版本彻底放弃对 PHP 5 的支持,然后WordPress 6.4 推荐使用 PHP 8.1 或 8.2,升级到 6.4 之后,也最低要求 PHP 7.4。

那么为什么要至少使用 PHP 7.4,因为使用 PHP 7.4 开发太爽了,怎么爽呢,我简单说一下:

新函数

PHP 7.3 引入 is_countable() 和 array_key_first()array_key_last() 这三个函数,在函数处理的时候使用会带来非常大的便捷。不过这个当然不是重点,WordPress 内置了这三个函数的兼容版本,意义是,任何版本的 PHP 都可以使用。

在数组中展开数组

Argument unpacking(参数解包)是在 PHP 5.6 中引入的语法,它允许开发者在函数调用时使用展开运算符 ... 来传递数组的元素作为多个参数,这对于动态函数调用非常有用,尤其是当你不知道你将传递多少参数时:

function ob_get_contents($callback, ...$args){
	ob_start();

	call_user_func($callback, ...$args);

	return ob_get_clean();
}

PHP 7.4 进一步增强了这个特性,允许开发者在数组中使用展开运算符,它会比使用 array_merge() 函数合并数组速度更快,因为展开运算符 (...) 它是个语法结构而不是一个函数。

箭头函数(短闭包)

在对于 PHP 而言,匿名函数有点冗长并且难以使用和维护的,所以 PHP 7.4 推出了更短并且语法更简洁的箭头函数(短闭包),能够在很大程度上使我们的 PHP 代码更简洁。

$schema	= []; // 前面计算获取

// 使用传统的匿名函数
$value	= array_map(function($item) use($schema){
	return $this->sanitize_value($item, $schema);
}, $value);

// 使用 7.4 引入的箭头函数
$value	= array_map(fn($item) => $this->sanitize_value($item, $schema), $value);

可以看出箭头函数更加简洁,只用一行代码即可重写,不需要使用 return,并且在父作用域里定义的变量被隐式捕获(隐式作用域绑定)了,即无需使用 use 关键字。

空合并赋值操作符

空合并赋值运算符是一种缩写方式,它结合了 isset() 检查和三元运算符,下面的例子如果 $product 数组的 id 是否设置了,如果没有则设置为默认值 0 ,我们可以看看 PHP 版本之间代码的演变:

// 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,人生苦短,编程开心最重要。

给TA赏糖
共{{data.count}}人
人已赏糖
技术分享

谷歌SEO:反向链接作为排名信号的影响比过去要小

2023-12-25 19:30:35

技术分享

如何防止 WordPress 页面被 Frame 嵌入

2023-12-25 21:35:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索