📜  php 8 大变化 - Nullsafe 运算符 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:10.298000             🧑  作者: Mango

PHP 8 大变化 - Nullsafe 运算符

在 PHP 8 中,引入了 Nullsafe 运算符,这是一种新的语法,用于简化访问具有可能为 null 值的对象属性或者方法的代码。

语法

Nullsafe 运算符使用的语法如下:

$object?->property

或者:

$object?->method()

在这里,$object 是一个可能为 null 值的对象。

如果 $object 为 null,则代码执行不会出错,也不会抛出异常,而是返回 null 值。

示例

以下示例演示了如何使用 Nullsafe 运算符:

<?php

class Foo
{
    public function getBar(): ?Bar
    {
        // return a Bar object or null
    }
}

class Bar
{
    public function getName(): ?string
    {
        // return a string or null
    }
}

$foo = new Foo();

// traditional approach
if ($foo !== null) {
    $bar = $foo->getBar();
    if ($bar !== null) {
        $name = $bar->getName();
        if ($name !== null) {
            echo $name;
        }
    }
}

// nullsafe operator
echo $foo?->getBar()?->getName();

在这个例子中,我们假设 $foo 可能为 null 值。

传统的访问方式需要一长串的 null 检查代码,如上所示。而使用 Nullsafe 运算符可以大大地简化代码,同时也更易读。

适用范围

Nullsafe 运算符在访问对象属性或者方法时,能够极大地简化代码,特别是当对象的值可能是 null 值时。它可以帮助程序员提高代码可读性、可维护性和减少出错的可能性。

总结

在 PHP 8 中,Nullsafe 运算符是一个非常实用的新特性。它极大地简化了访问可能为 null 值的对象属性或方法时的代码。

如果你想了解更多有关 PHP 8 的变化,请参考官方文档。