Оператор PHP Nullsafe: безопасный доступ к свойствам и методам с возможными нулевыми значениями

Оператор PHP Nullsafe — это функция, представленная в PHP 8.0. Он обеспечивает краткий и удобный способ безопасного доступа к свойствам и методам, возможно, для нулевых значений, не вызывая ошибок. Вместо того чтобы вручную проверять, является ли значение нулевым перед доступом к его свойствам или вызову его методов, вы можете использовать оператор nullsafe для неявного выполнения проверки.

Вот пример, демонстрирующий использование оператора nullsafe:

// A class with a nullable property and method
class MyClass
{
    public function getData(): ?string
    {
        // Some logic that may or may not return a string
    }
}
// Accessing a nullable property using the nullsafe operator
$data = (new MyClass())->getData()?->length;
// Accessing a nullable method using the nullsafe operator
$result = (new MyClass())->getData()?->toUpperCase();

В приведенном выше примере нулевой оператор ?->используется для доступа к свойству lengthи вызова метода toUpperCase()для возможное нулевое возвращаемое значение метода getData(). Если метод getData()возвращает значение null, оператор nullsafe выполняет короткое замыкание и возвращает значение null вместо того, чтобы вызвать ошибку.

Использование оператора nullsafe может помочь уменьшить объем шаблонного кода, необходимого для проверки нуля, в результате чего код станет более чистым и читаемым.