前言
在 Laravel 新版本当中,有一个非常有用的辅助方法:optional()
使用场景
这个方法的应用场景是什么呢?其实如果你多写代码的话,经常会遇到类似下面的报错信息:
1 | Call to a member function on null object... |
这其实是在我们的代码中存在着某个对象为空,所以在我们调用方法或者获取属性的时候就会报出以上错误信息。
这个时候,optional()
就可以派上用场了
我们只需要这样获取用户的地址信息就好:
1 | optional($user->profile)->address |
这个时候,即使 profile
为空值(null
),这一行代码也不会报错,而是会显示一个空的字符串出来。
是不是非常有用!有了 optional()
这个辅助函数之后,在很多类似的代码中,在你不确定是否该对象会为 null
的时候,就可以加上 optional()
来做保险了!当然还有另外一种比较笨的方法,也就是如下的这种方法,达到的目的也是一样的。
1 | $user->profile->address ?? null; |