PHP 7.4 新特性介绍
PHP 7.4是PHP的最新稳定版本。它于2019年11月28日发布,是 PHP 8 之前的最新版本。它带来了许多新函数,语法添加和修复。在这篇文章中,您将找到一个列表,其中包含所有新增和更改的内容,以帮助您准备升级。让我们从PHP 7.4中的一些要点开始:
New features
PHP 7.4带有大量新函数。我们将从所有新函数的列表开始,然后查看更改和不推荐使用的内容。
不过,在开始之前,请注意:如果您仍在使用较低版本的PHP, 您还需要阅读PHP 7.3中的新函数。
# Arrow functions rfc
箭头函数也称为"短闭包",它允许较少冗长的单行函数。
虽然您之前已经写过:
array_map(function (User $user) {
return $user->id;
}, $users)
您现在可以这样写:
array_map(fn (User $user) => $user->id, $users)
# 类型属性 rfc
类变量可以用类型提示:
class A
{
public string $name;
public ?Foo $foo;
}
# Improved type variance rfc
但简而言之:您将可以使用协变返回类型–
class ParentType {}
class ChildType extends ParentType {}
class A
{
public function covariantReturnTypes(): ParentType
{ /* … */ }
}
class B extends A
{
public function covariantReturnTypes(): ChildType
{ /* … */ }
}
# 空合并分配运算符 rfc
接下来是空合并分配运算符,它是空合并操作的简写。而不是这样做:
$data['date'] = $data['date'] ?? new DateTime();
你可以这样做:
$data['date'] ??= new DateTime();
# 数组扩展运算符 rfc
接下来,现在可以在数组中使用散布运算符:
$arrayA = [1, 2, 3];
$arrayB = [4, 5];
$result = [0, ...$arrayA, ...$arrayB, 6 ,7];
// [0, 1, 2, 3, 4, 5, 6, 7]
请注意,这仅适用于带有数字键的数组。
# 数值分隔符 rfc
PHP 7.4允许使用下划线在视觉上分隔数字值。 看起来像这样:
$unformattedNumber = 107925284.88;
$formattedNumber = 107_925_284.88;
下划线仅被引擎忽略。
# 三元运算符弃用 rfc
该RFC为嵌套三元语句添加了弃用警告。 在PHP 8中,此弃用将转换为编译时错误。
1 ? 2 : 3 ? 4 : 5; // deprecated
(1 ? 2 : 3) ? 4 : 5; // ok
# 串联优先 rfc
如果您要编写这样的内容:
echo "sum: " . $a + $b;
PHP以前会这样解释它:
echo ("sum: " . $a) + $b;
PHP 8将使其如此解释:
echo "sum: " . ($a + $b);
当遇到在 +
或-
符号之前的包含。
的未括号表达式时,PHP 7.4添加了弃用警告。
# 无效的数组访问警告 rfc
如果要对一个整数使用数组访问语法; PHP以前会返回 null
。 从PHP 7.4开始,将发出通知。
$i = 1;
$i[0]; // Notice
# strip_tags 接受数组
您过去只能剥离多个标签,如下所示:
strip_tags($string, '<a><p>')
PHP 7.4还允许使用数组:
strip_tags($string, ['a', 'p'])
链接:https://www.learnfk.com/article-new-in-php-74
来源:Learnfk无涯私塾网
Hi LearnFk.com