上級 › __toString未実装のオブジェクトを文字列化した原因 › パターン1
__toString未実装のオブジェクトを文字列化した原因
__toString()メソッドを持たないオブジェクトを文字列と連結したり、文字列として出力しようとしたりすると致命的エラーになります。
1 <?php 2 class Money { 3 public function __construct(public int $cents) {} 4 } 5 $m = new Money(500); 6 echo "Price: " . __________________; ^
Fatal error: Uncaught Error: Object of class Money could not be converted to string in main.php:6
空欄を埋めて実行を通す
Moneyクラスは__toString()を持たないため、オブジェクトそのものを文字列と連結できません。プロパティの値($m->cents)のように文字列化できる値を渡す必要があります。
次の問題