上級 › 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
空欄を埋めて実行を通す
$p->authorはnullなので、通常の->での呼び出しは致命的エラーになります。?->に変えることで安全に処理を続けられます。
次の問題