非常有用的Laravel optional輔助函數!

在 laravel 新版本當中,有一個非常有用的輔助方法:optional()

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

Call to a member function on NULL object...

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

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

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

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

$user->profile->address;

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

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

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

optional$user->profile)->address

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

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享