php if throw,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 月份。
php if throw,Laravel throw_if 和 throw_unless 辅助函数相关推荐
- laravel 5.5 的相关字符串辅助函数
一.背景 最近在学习laravel 5.5的相关新特性,偶然间发现了几个不错的字符串辅助函数.分享给大家. 二.相关函数 1.Str::start() 辅助方法 如果字符串没有以给定值开头的话 str ...
- php辅助框架,【PHP开发框架】Laravel框架中辅助函数:optional ()函数的介绍
laravel框架中的辅助函数有很多,那么,在 Laravel 新版本中又有什么非常好用的辅助函数呢?接下来的这篇文章中,ki4网将给大家介绍一个非常有用的辅助方法:optional()函数,这个函数 ...
- 引用http开头的JS失败以及laravel的url()方法的坑
一.前言 昨天在发布新项目的时候,出现引用的jquery文件无法识别.android报错无法使用http开头的外部js文件.然后改为https开头的就可以了.紧接着,laravel中的ajax也都请求 ...
- Laravel 测试: PHPUnit 入门教程
介绍 PHPUnit 测试的基础知识,使用基本的 PHPUnit 断言和 Laravel 测试助手. 介绍 PHPUnit 是最古老和最著名的 PHP 单元测试包之一.它主要用于单元测试,这意味着可以 ...
- Laravel框架一:原理机制篇
转载自http://www.cnblogs.com/XiongMaoMengNan/p/6644892.html Laravel作为在国内国外都颇为流行的PHP框架,风格优雅,其拥有自己的一些特点. ...
- laravel Helpers文件 通用帮助函数 以及常用帮助方法
Laravel 提供了很多 辅助函数,有时候我们也需要创建自己的辅助函数. 我们把所有的『自定义辅助函数』存放于 app/Helpers/functions.php 文件中,这里需要新建一个空文件: ...
- PHP框架 - laravel
一.依赖注入实现原理 依赖注入不是让对象创建一个依赖关系,也不是让工厂对象去创建对象,而是将所需的依赖变成一个外部对象,使之成为一个"某些人的问题",你为"某些人的问题& ...
- PHP随机字符串生成器
我正在尝试在PHP中创建一个随机字符串,并且我对此绝对没有输出: <?phpfunction RandomString(){$characters = '0123456789abcdefghij ...
- 核心概念 —— 门面(Facades)
1.简介 为应用的中的绑定类提供了一个"静态"接口. 内置了很多门面,你可能在不知道的情况下正在使用它们.Laravel 的门面作为中的底层类的"静态代理",相 ...
最新文章
- 20个!中国科协发布2020年重大科学问题和工程技术难题
- php xp不支持,据说PHP5.5发布 不再支持XP和2003
- vs2013+EF6+Mysql
- 【C】Natasha V1.3.6.0 的升级日志
- Ajax和Jsonp实践
- Ubuntu安装BackExec Remote Agent for Linux
- Python开发之--前端 HTML基础
- cesium获取模型实时坐标_Cesium 顶点着色器中求解模型坐标
- python判断图片相似度_Python比较两个图片相似度的方法
- 5 table滑动固定_淮南滑动管托固定管托
- Fortran入门教程(一)——引入篇
- 计算机硬件知识ppt课件,计算机硬件课件
- 深度linux如何安装迅雷,deepin官方论坛-深度科技官网旗下网站
- 大一java计算圆面积_Java练习题——计算圆的面积
- 以太坊2.0协议核心Beacon链详解
- 关于gb2312的编码
- 【论文阅读】Reviving Iterative Training with Mask Guidance for Interactive Segmentation
- Rust的审核团队突然宣布集体辞职
- flask中的可拨插视图
- 《ucore lab1 exercise5》实验报告