Code Fix

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

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

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

 1  <?php
 2  class Order {
 3      public ?Customer $customer = null;
 4  }
 5  class Customer {
 6      public function getName(): string { return "Al"; }
 7  }
 8  $o = new Order();
 9  echo $o->customer___getName();
                      ^
Fatal error: Uncaught Error: Call to a member function getName() on null in main.php:9

空欄を埋めて実行を通す

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

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

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

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

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