我想避免在函数中使用多个 return,但在这种情况下,我不知道如何在不添加大量 else
的情况下中断它们:
public function foo($number)
{
if ($number > 8)
{
return ' > 8';
}
if (exist($number))
{
return $number . ' exist';
}
return $this->bar($number);
}
我的用例是针对某些无效情况显示错误消息,并且不执行函数中剩余的内容。
最佳答案
你可以这样做:
public function foo($number)
{
if ($number > 8) {
$return_value = ' > 8';
} elseif (exist($number)) {
$return_value = $number . ' exist';
}
return $return_value ?? $this->bar($number);
}
但是据我所知,多次返回是可以的,因为函数具有足够的可读性。我主要关心的问题之一是功能很小,只需几行,这样我就不必滚动,几秒钟内就能理解它。因此,即使存在三个 return
情况,它仍然可读。
关于php - 如何以最低复杂度且只有一次返回来处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48424636/