Code Fix

上級 › nullになりうるプロパティへのメソッド呼び出しは ?-> で守る › パターン4

nullになりうるプロパティへのメソッド呼び出しは ?-> で守る

途中のプロパティがnullかもしれないオブジェクトの連鎖に対して、通常の->でメソッドを呼ぶと致命的エラーになります。

 1  <?php
 2  class Team {
 3      public ?Coach $coach = null;
 4  }
 5  class Coach {
 6      public function getName(): string { return "Ken"; }
 7  }
 8  $t = new Team();
 9  echo $t->coach___getName();
                   ^
Fatal error: Uncaught Error: Call to a member function getName() on null in main.php:9

空欄を埋めて実行を通す

広告
広告スロット(未設定)

nullになりうるプロパティへのメソッド呼び出しは ?-> で守る

?->を使うと、途中がnullの場合は例外を投げずnullを返して処理を続けられます。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)