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)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END