Laravel框架中輔助函數(shù):optional ()函數(shù)的介紹

laravel框架中的輔助函數(shù)有很多,那么,在 laravel 新版本中又有什么非常好用的輔助函數(shù)呢?接下來的這篇文章中,php中文網(wǎng)將給大家介紹一個非常有用的輔助方法:optional()函數(shù),這個函數(shù)的用處到底是什么呢?就讓我們來具體的看一看吧。

這個方法的應用場景是什么呢?其實如果你多寫代碼的話,經(jīng)常會遇到類似下面的報錯信息:

Call?to?a?member?function?on?null?object...

這其實是在我們的代碼中存在著某個對象為空,所以在我們調(diào)用方法或者獲取屬性的時候就會報出以上錯誤信息。比如我們舉個例子:

在 User 的體系中,我們也有 Profile 的 Model 文件,而一個 User 擁有一個 Profile (Profile 中包含用戶的地址信息)

public?function?profile(){ ???return?$this->hasOne(Profile::class); }

然后在我們 User 的信息頁面,我們希望通過下面的代碼獲取 User 的地址:

$user->profile->address;

如果在數(shù)據(jù)庫中,我們沒有該 User 對應的 Profile,這個時候就會出現(xiàn)文章開始說到的類似錯誤了。

所以,這個時候,optional() 就可以派上用場了

我們只需要這樣獲取用戶的地址信息就好:

optional$user->profile)->address

這個時候,即使 profile 為空值(null),這一行代碼也不會報錯,而是會顯示一個空的字符串出來。
是不是非常有用!有了 optional() 這個輔助函數(shù)之后,在很多類似的代碼中,在你不確定是否該對象會為 null 的時候,就可以加上 optional() 來以防萬一。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊12 分享