Проверьте, возвращает ли функция 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; // :)
}