Laravel 5.5で超絶便利なヘルパーoptionalってのできてるよ
この前、同僚にベル子たんに教えてもらったやつめっちゃ便利そうなのに何というヘルパーか忘れてしまいました!
と言われて、私も忘れてしまっていたという事件がありました。
現在、私がコアで開発してる案件は、5.7にアップデートしたので使えるのですが、
あまりにも"Trying to get property of non-object"を見すぎてしまったせいで
息を吸うように以下のように書いてしまいます。
<?php $user_name = User::find(1) ? User::find(1)->name : '';
それか、php7で搭載されたnull合体演算子を使うともっと綺麗に書けます。
<?php $user_name = User::find(1)->name ?? '';
何度も同じこと書かなくてよくなった!
これだけでも非常にありがたいのですが、
Laravel 5.5 で追加されたoptionalヘルパーを使うと息を吸うように
nullの時のエラーを回避できるようになります。
<?php $user_name = optional(User::find(1))->name;
optionalを使うと、userが見つからなかった場合はnullを返して来ます。
厳密に空文字にしたい、などの時はnull合体演算子がいいかもしれません。
さらに Laravel 5.6.13 ではクロージャも第2引数で渡せるようになったらしいので
さらに使い勝手がよくなったっぽいいです。
すごい!さすが私のLaravel。
Laravelの公式ドキュメントはこちらです。
便利なものはどんどん使っていきたいところです。