Code Fix

上級 › staticを付け忘れると、インスタンス間でプロパティが共有されない › パターン5

staticを付け忘れると、インスタンス間でプロパティが共有されない

インスタンスをまたいで値を共有したい場合はstaticプロパティが必要です。

 1  <?php
 2  class Pool {
 3      public _________int $used = 0;
                   ^
 4      public function consume() {
 5          self::$used++;
 6      }
 7  }
 8  $a = new Pool();
 9  $b = new Pool();
10  $a->consume();
11  $a->consume();
12  $b->consume();
13  echo Pool::$used;
Fatal error: Uncaught Error: Access to undeclared static property Pool::$used in main.php:5

空欄を埋めて実行を通す

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

staticを付け忘れると、インスタンス間でプロパティが共有されない

staticを付け忘れると、そのプロパティは各インスタンスに独立して属するため、期待した共有ができません。

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

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