Laravelのoptional補助関数

1167 ワード

Laravelの新しいバージョンでは、optional()という非常に有用な補助方法があります.
この方法の適用シーンは何ですか?コードをたくさん書くと、次のようなエラーメッセージに遭遇することがあります.

Call to a member function on null object...

これは、実際には、私たちのコードにオブジェクトが空であるため、メソッドを呼び出したり、プロパティを取得したりすると、上記のエラーメッセージが表示されます.例を挙げてみましょうUserのシステムでは、ProfileのModelファイルもありますが、UserProfile(Profileにユーザーのアドレス情報が含まれています)を持っています.
public function profile(){
   return $this->hasOne(Profile::class);
}

その後、Userの情報ページでは、Userのアドレスを次のコードで取得したいと考えています.
$user->profile->address;

データベースにUserに対応するProfileがなければ、このとき、記事で述べ始めたようなエラーが発生します.
だから、この時、optional()が役に立ちます
ユーザーのアドレス情報を取得するだけでいいです.
optional$user->profile)->address

このとき、profileがNull値(null)であっても、この行のコードはエラーを報告せず、空の文字列が表示されます.とても役に立つのではないでしょうか.optional()という補助関数があれば、多くの類似のコードの中で、このオブジェクトがnullになるかどうか分からないときは、optional()を加えて保険をかけることができます.
公衆番号codecastsに注目し、PHP Laravelスキルを毎日更新