上級 › 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
空欄を埋めて実行を通す
$o->customerがnullのまま->でメソッドを呼ぶと致命的エラーです。?->を使うとnullの場合は安全にnullを返します。
次の問題