Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Специальный тип Null (пустой тип) в PHP, Оператор безопасного null (Nullsafe operator) кратко

Лекция



Привет, Вы узнаете о том , что такое null в php, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое null в php, пустой тип в php, оператор безопасного null , nullsafe operator , настоятельно рекомендую прочитать все из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend) .

Специальное значение NULL говорит о том, что эта переменная не имеет значения. NULL - это единственно возможное значение типа NULL.

Переменная считается NULL если

  • ей была присвоена константа NULL.

  • ей еще не было присвоено какое-либо значение.

  • она была удалена с помощью unset().

Синтаксис специального типа NULL

Существует только одно значение типа NULL - регистро-независимое ключевое слово NULL.

$var = NULL;

Применение
Переменная может быть явно установлена ​​в NULL для освобождения памяти, используемой им. Это имеет смысл, если переменная потребляет много памяти

Кроме того Для различных типов, при использовании null сравнение выполняется в соответствии со следующей таблицей

Специальный тип Null (пустой тип) в PHP,  Оператор безопасного null (Nullsafe operator)

оператор безопасного null (Nullsafe operator)в PHP 8

Null — сам по себе не очень хорошая штука (даже очень плохая). Об этом говорит сайт https://intellect.icu . Когда функция возвращает null, то в каждом месте, где идет ее вызов, программист обязан проверить на null. И это приводит к ужасным последствиям.

$session = Session::find(123);

if ($session !== null) {
    $user = $session->user;

    if ($user !== null) {
        $address = $user->getAddress();

        if ($address !== null) {
            $country = $address->country;
        }
    }
}

По хорошему, должен быть метод Session::findOrFail, который будет кидать исключение в случае отсутствия результата. Но когда эти методы диктует фреймворк, то мы не можем ничего сделать. Единственное, это проверять каждый раз на null либо, где это уместно, использовать ?->.

$country = $session?->user?->getAddress()?->country;

Этот код более чистый, чем предыдущий. Но он не идеален. Для идеально чистого кода, нужно использовать шаблон Null Object, либо выбрасывать exception. Тогда нам не нужно будет держать в голове возможность null на каждом шагу.

Более правильный вариант:

$country = $session->user->getAddress()->country;

Интересным моментом в использовании nullsafe есть то, что при вызове метода с помощью ?->, параметры будут обработаны только если объект не null:

function expensive_function() {
    var_dump('will not be executed');
}

$foo = null;
$foo?->bar(expensive_function()); // won't be called

Вау!! 😲 Ты еще не читал? Это зря!

В заключение, эта статья об null в php подчеркивает важность того что вы тут, расширяете ваше сознание, знания, навыки и умения. Надеюсь, что теперь ты понял что такое null в php, пустой тип в php, оператор безопасного null , nullsafe operator и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

Из статьи мы узнали кратко, но содержательно про null в php
создано: 2016-01-25
обновлено: 2021-11-17
132431



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)