首頁 > php框架 > Laravel > 非常有用的Laravel optional輔助函數!

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

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

在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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板