LoginSignup
1
4

More than 5 years have passed since last update.

ダサすぎるnullチェックをやめましょっていう話

Last updated at Posted at 2018-08-07

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;
}

ただそんだけですが、知ってると便利ですよ!

1
4
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4