Объект Null (англ. Null Object) — это объект с определенным нейтральным (“null”) поведением.
Шаблон проектирования Null Object описывает использование таких объектов и их поведение (или отсутствие такового).
Null Object не шаблон из книги Банды Четырёх, но схема, которая появляется достаточно часто, чтобы считаться шаблоном.
Она имеет следующие преимущества:
Клиентский код упрощается;
Уменьшает шанс исключений из-за нулевых указателей (и ошибок PHP различного уровня);
Меньше дополнительных условий — значит меньше тесткейсов.
Методы, которые возвращают объект или Null, вместо этого должны вернуть объект NullObject.
Это упрощённый формальный код, устраняющий необходимость проверки if (!is_null($obj)) { $obj->callSomething(); },
заменяя её на обычный вызов $obj->callSomething();.