Code Fix

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

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

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

 1  <?php
 2  class Post {
 3      public ?Author $author = null;
 4  }
 5  class Author {
 6      public function getEmail(): string { return "a@example.com"; }
 7  }
 8  $p = new Post();
 9  echo $p->author___getEmail();
                    ^
Fatal error: Uncaught Error: Call to a member function getEmail() on null in main.php:9

空欄を埋めて実行を通す

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

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

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

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

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