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

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

藏色散人
藏色散人轉載
2021-07-13 14:42:522172瀏覽

在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刪除