Php! или === null?
if($error === null){} предпочтительный (иногда он обязательный по стандартам), тк вариант if(!$error){} — это авто-приведение к bool:


например 0 приведется к false, в то время как он может быть валидным интовым значением
пустой массив — тоже может быть валидным значением, но с !$arr он приведется к false... конечно допускать в программе одновременно и [] и null стоит как можно реже, но такое может произойти


!$any можно использовать комфортно, когда вы (и программа) уверена, что работает либо с объектом, либо с bool
Если есть возможность, меняйте тип возвращаемого значения, т.е. зоведите специальный класс Error и после вызова проверяйте тип результата.

Еще есть практика выноса статуса ошибок из возвращаемого значения, так как ошибки бывают разные и требуют разной ответной реакции, с помощью исключений - классов потомков Exception

В этом случае каждый вариант ошибки должен быть отловлен в своей секции catch а вызов в try (саму ошибку инициализировать с помощью throw).