在新版本的Laravel中,有一个非常有用的辅助方法:optional()方法的应用场景是什么?其实代码写多了,经常会遇到类似下面的错误信息:Calltoamemberfunctiononnullobject...Thisisactuallyanobjectinourcodethatisempty,sowhenwecallthemethod或者获取属性的时候会报上面的错误信息。例如,我们举个例子:在User系统中,我们还有一个Profile模型文件,一个User有一个Profile(Profile中包含了用户的地址信息)publicfunctionprofile(){return$this->hasOne(Profile::class);}然后在我们的User的信息页面,我们希望通过下面的代码获取到User的地址:$user->profile->address;如果在数据库中,我们没有User对应的Profile,这个时候就会出现文章开头提到的类似错误。那么,这个时候,optional()就可以派上用场了。我们只需要像这样获取用户的地址信息:optional$user->profile)->address这时候,即使profile为null,这行代码也不会报错,而是会显示一个空字符串。是不是很有用!有了辅助函数optional(),在很多类似的代码中,当你不确定对象是否会为null时,可以加上optional()来保险!关注公众号codecast,每天更新PHPLaravel技能
