PHP8的一些新特性之 Nullsafe 操作符
有了 Nullsafe 操作符后,和 ??
表达式一样具有魔法能力,可以大幅减少代码量,且在也不会出现因为 null 操作导致的错误了。这个操作符在其他语言中早就实现了,PHP8 终于也可以使用了,来进入正题,看看下面的代码是否高频率的出现在你的代码中:
// PHP7
$country = null;
if ($session !== null) {
$user = $session->user;
if ($user !== null) {
$address = $user->getAddress();
if ($address !== null) {
$country = $address->country;
}
}
}
那么在 PHP8 中,我们只需要一行代码即可完成
$country = $session?->user?->getAddress()?->country;
现在可以用新的 nullsafe 运算符链式调用,而不需要条件检查 null。 如果表达式中的一个元素失败了,整个表达式会中止并认定为结果为 Null。
快去优化你的代码结构吧
本作品采用《CC 协议》,转载必须注明作者和本文链接
这个好,这个好,想起了以前被
支配的恐惧
@airy 集合可以用 ->isEmpty() 判空啊
@airy 尝试过这个报错
这语法看着头不疼吗
@Achais 还真不头疼,JavaScript、C#、TypeScript、Swift等早就支持了,习惯就好。而且的确可以精简代码。
我记得js里面有一个 ?. 的语法