php - 如何以最低复杂度且只有一次返回来处理错误

标签 php function return

我想避免在函数中使用多个 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/

相关文章:

Python - 返回每个键的第一个值

php - 构建自定义 PHP 扩展 (.so)

php - laravel 如何添加一对一关系

php - 建立评级系统 : database structure involve user_id?

javascript - 深嵌套函数javascript的替代品

python - 在多处理中返回 - Python

php - 在不刷新页面的情况下将数据发送到数据库

C函数调用

c - 函数结构 - 差异

java - 当我返回数组时,出现 "cannot find symbol"错误