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

藏色散人
發布: 2021-07-14 08:59:44
轉載
2086 人瀏覽過

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

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

Call to a member function on null object...
登入後複製

這其實是在我們的程式碼中存在著某個物件為空,所以在我們呼叫方法或取得屬性的時候就會報出以上錯誤訊息。例如我們舉個例子:

User的體系中,我們也有Profile的Model 文件,而一個User擁有一個ProfileProfile中包含使用者的地址資訊)

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 ()來做保險了!

以上是非常有用的Laravel optional輔助函數!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!