Ответ 1
Это невозможно. Если значение возвращаемого значения не задано, функция автоматически возвращает значение null.
У меня есть этот код
$return = $ep->$method($params);
if ($return === null) {
throw new Exception('Endpoint has no return value');
}
return $return;
Есть ли способ отличить метод, возвращающий null
, и метод, который ничего не возвращает?
Это невозможно. Если значение возвращаемого значения не задано, функция автоматически возвращает значение null.
Если функция ничего не возвращает, вы не должны проверять ее возвращаемое значение. Вы должны знать, какие функции должны возвращать что-то или вообще ничего, даже если вы не тот, кто их написал.
Вы можете заставить функцию вернуть другое значение? Boolean true возможно, и проверьте это или null.
С функцией объявления типа возвращаемого типа PHP7 & rsquo:
function a(): void {
return null; // :(
}
function b(): void {
// :)
}
function c(): void {
return; // :)
}