Code Fix

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

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

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

 1  <?php
 2  class User {
 3      public ?Address $address = null;
 4  }
 5  class Address {
 6      public function getCity(): string { return "Tokyo"; }
 7  }
 8  $u = new User();
 9  echo $u->address___getCity();
                     ^
Fatal error: Uncaught Error: Call to a member function getCity() on null in main.php:9

空欄を埋めて実行を通す

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

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

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

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

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