有了 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 協議》,轉載必須註明作者和本文連結