首页 » Web技术 » Laravel » 正文

Laravel throw_if 和 throw_unless 辅助函数

即将发布的 Laravel 5.5 中将带来两个新的辅助函数:throw_if 和 throw_unless,两者的目的都是为了简化抛出异常。

“就像其他辅助函数,throw_if 和 throw_unless 可以帮助我们快速开发简洁易懂的代码”,TJ Miller 说,“尤其是这两者可以把条件块代码简化为一行,非常的赞”。

我们来看一下这两个辅助函数,并演示一下如何使用它们:

throw_if

Throw if,就像它的名字一样,如果第一个参数是布尔值并且为 “true”,那么将会抛出一个异常。

这是一个使用示例:

$foo = true;
throw_if($foo, new BarException('Foo is false'));
// or 
throw_if($foo, BarException::class, 'Foo is False');

下面是这个完整的函数供参考:

function throw_if($boolean, $exception, $message = '')
{
    if ($boolean) {
        throw (is_string($exception) ? new $exception($message) : $exception);
    }
}

throw_unless

与 throw_if 相反的是 throw_unless,它检查第一个参数,如果是 false,则抛出异常:

$foo = false;
throw_unless($foo, new BarException('Foo is True'));
// or
throw_unless($foo, BarException::class, 'Foo is True');

它的完整参考:

function throw_unless($boolean, $exception, $message)
{
    if (! $boolean) {
        throw (is_string($exception) ? new $exception($message) : $exception);
    }
}

这两个辅助函数将会在 Laravel 5.5 版本中发布,预计发布时间为 7 月份。

 

via: laravel-news


该篇属于专题:《Laravel 5.5 资讯

发表评论