辅助函数新成员 throw_if & throw_unless ( Laravel 5.5 新功能早知道)
为了更容易抛出异常, Laravel 5.5 中新增了两个辅助函数:throw_if
和 throw_unless
。
TJ Miller 说,就跟其他辅助函数一样,throw_if 和 throw_unless 同样也能让代码显得更清晰更容易读懂,特别是这两个函数还能将条件块减少到一行。
接下来简单介绍下这两个函数以及它们的工作原理:
throw_if
顾名思义,即这个函数第一个传入的参数是布尔值,如果为 true
就抛出异常。
简单例子:
$foo = false;
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
一样的使用方法,只不过它是判断当传入的第一个参数为 false
时,才会抛出异常。
$foo = true;
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 版本上发布~ 七月份哟!即下一个 LTS 的推出时间!
想更多更及时的知道 Laravel 的第一手资讯么?聪明的人都用上这个 插件 了呢!
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: