null合体演算子を使おうってだけの話
ちょこちょこ見かけますが、issetやemptyを使って中身があれば代入するような処理ですが、php7以上使ってるならクソコード認定されてしまうので即刻やめましょう!
KusoCode.php
$str = '';
if(isset($param)){
$str = $param;
}
null合体演算子を使ってこのように書き直しましょう。
Solution.php
$str = $param ?? '';
??を使うと左辺がなければ右辺を使うことができます。ちなみにこれは、issetを使って以下のように書いた時と同様です。
OldSolution.php
$str = isset($param) ? $param : '';
isset使うより??使う方がコード量少なくてスタイリッシュだし可読性も高いですね!
汎用性も高くて、例えば引数で渡す時とか色々な時に使えて便利です。
Other.php
public function index(){
//default値を呼び出し側で設定してあげたいときとかにも使える
$this->call($param ?? 'default');
}
//訳ありで引数にデフォルトを設定できないファンクション
private function call($param){
echo $param;
}
ただそんだけですが、知ってると便利ですよ!