Проверьте, возвращает ли функция PHP значение null или ничего

У меня есть этот код

 $return = $ep->$method($params);
 if ($return === null) {
  throw new Exception('Endpoint has no return value');
 }
 return $return;

Есть ли способ отличить метод, возвращающий null, и метод, который ничего не возвращает?

Ответ 1

Это невозможно. Если значение возвращаемого значения не задано, функция автоматически возвращает значение null.

Ответ 2

Если функция ничего не возвращает, вы не должны проверять ее возвращаемое значение. Вы должны знать, какие функции должны возвращать что-то или вообще ничего, даже если вы не тот, кто их написал.

Ответ 3

Вы можете заставить функцию вернуть другое значение? Boolean true возможно, и проверьте это или null.

Ответ 4

С функцией объявления типа возвращаемого типа PHP7 & rsquo:

function a(): void {
    return null; // :(
}

function b(): void {
    // :)
}

function c(): void {
    return; // :)
}